Numerical Control (NC) is a way to automate machines. In numerical control, the commands these machines get come from a storage medium; they are not controlled and operated manually. The first such machines were Jacquard looms controlled by punched cards. Machine tools for cutting metal were built in the 1940s and 1950s. They used punched tape instructions. Soon, the tools were changed, to use computers. Numerical control with computers is known as Computer Numerical Control, or CNC.
Nowadays, it is possible to make a program that can run on such machine tools, based on a CAD drawing of the piece to be produced.
Attempts to automate machines in the 19th century, for example copying-lathes, used cams. These are basically wheels that change the position of notches to control a machine. The basic difference to modern NC is that these cams only automated one given task; modern NC and CNC machines can be programmed to a greater extent.