The automatic programming systems specify the task that the program is to perform, choose a langauge to write the program in, articulate the problem area the program will be applied to, and make use of various programming strategies.
Programs written by such APs are not written by humans, and so computers that run those programs do not just mirror the free will of humans.
The Simons argument
"The late-1970s witnessed the emergence of a number of experimental self-programming computer systems. One system even generated human-like programming errors, noticed this, and then spent time removing them from the finished program! The systems, as we might expect, vary in the efficiency of the programs that they generate. And they vary too in the mode of interaction with the human programmer.
NLPQ for example, is the first AP [automatic programming] system that can interpret natural language: the programmer specifies a problem in English, whereupon the system works to produce a program written in the GPSS target language.
The LIBRA system, being developed at Stanford University, is particular interested in generating efficient programs. This system explores how a stock of rules held in a database can be applied to a specification in order to achieve an efficient target implementation. Already LIBRA has produced a number of information-retrieval and classification programs used in commercial processing.
Some AP systems (such as PECOS and DEDALUS) transform complete specifications into finished programs; and some systems (for example, SAFE) have strategies for coping with partial information" (G. Simons, 1985, p. 124-125).
References
Simons, Geoff. 1985. The Biology of Computer Life: Survival, Emotion and Free Will. Boston: Birkhauser.
|