I was wondering if there is any difference between NC programming and conversational. One of my co-workers says NC is more accurate and faster.
There are actually three types of programming methods, manual programming (which I think you're referring to as NC), conversational programming (which is also called shop floor programming), and computer aided manufacturing (CAM) system programming. Each has it's place and application.
Generally speaking, manual programming is best when jobs are simple, there aren't all that many new programs required, and/or there is a need for the CNC program to execute as efficiently as possible. A programmer prepares the program in the same language that the CNC machine will execute it, which can be tedious and error-prone - but manual programming lets the programmer be as intimate with the CNC machine as possible. This means programs can be written in a way that they execute as efficiently as possible on the machine. While some CAM systems can generate pretty efficient CNC programs, I'd still recommend manual programming to anyone doing ultra high-volume work. You just can't beat the efficiency of a well formatted manually written program.
Conversational programming is best done when programs must be created while the machine is down in setup. If, for instance, a company sees a great deal of repeat business, if lot sizes are very small, and cycle times are very short, it will be difficult (if not impossible) to prepare programs up front, while the machine is running production. Conversational controls can be thought of as a single-purpose CAM system, making it quick and easy to generate a program right at the machine. With print in hand, the setup person can step up to the machine and quickly create the CNC program. Conversational controls allow programs to be entered without any need for math, and take much of the tediousness out of programming. With one popular turning center conversational control, for example, average programming time is under ten minutes.
CAM systems are best used when there are a variety of machines to program (a programmer would have trouble keeping the language for each machine straight), there is quite a bit of new business (many programs to create), and/or jobs are quite complex (making it difficult to manually program). Like conversational controls, CAM systems remove the tediousness from programming. Workpiece geometry is first imported to the CAM system from a computer aided design (CAD) system, which eliminates the need for the programmer to define the workpiece size and shape. The programmer then specifies how machining is to be done. CAM systems vary dramatically with regard to how machining is defined, but most allow the programmer to choose machining operations from a menu and specify the machining parameters in fill-in-the-blanks fashion. The CAM system then generates a CNC program - the same kind of program a manual programmer will write. This program is then loaded into the CNC machine and run.
Note that there are some exceptions to what I've said. For example, since CAM systems are much more reasonably priced today than in years past, almost all CNC-using companies can afford to have one.
Also note that some companies don't adhere to the general statements I've made. For instance, some companies will program on the shop floor (conversationally) even though they have ample time and personnel to do so off line. Or just the opposite may be true. They may have to prepare programs while the machine is in setup, but their programmer prepares programs off line manually or on a CAM system. Both can lead to under-utilization of the CNC machines.