Automatic programming research in AI, then, refers to systems that assist humans in some aspect of programming. Each of these systems has four identifying characteristics: a specification method, a target language, a problem area, and an approach or method of operation.
Automatic programming (AP) is the automation of some part of the programming process. As an application of artificial intelligence (AI), AP research has achieved some success with experimental systems that help programmers manage large programs or that produce small programs from some specification of what they are to do—besides the code itself. Programming can be defined as specifying the method for doing something the computer can do in terms the computer can interpret. In the simplest case, programmers code the steps of algorithms they want the machine to perform in terms of its hard-wired primitives for adding, subtracting, and moving numbers. However, very few programmers really program that way any more. The first step toward automatic programming was the development of compilers. The first FORTRAN compiler was even billed as an “automatic programming” system.