CNC programming (Computer Numerical Control Programming) is used by manufacturers to create the code that directs a CNC machine’s operation. CNC uses a subtractive manufacturing process to cut away portions of the base material to shape the desired form. CNC machines mostly use G-codes and M-codes to control machining process. G-codes dictate the positioning of the part or tools. These codes prepare the part for the cutting or milling process. M-codes turn on rotations of tools and various other functions. For specifics such as speed, tool number, cutter diameter offset and feed, the system uses other alphanumeric codes starting with S, T, D and F, respectively. Three main types of CNC programming exist – manual, computer-aided manufacturing (CAM) and conversational. Each has unique pros and cons. Beginner CNC programmers should learn what distinguishes each type of programming from the others and why all three methods are essential to know.