Industrial Robots Programming: Building Applications for the Factories of the Future