Automatic programming

This is an old revision of this page, as edited by Rubywine (talk | contribs) at 23:15, 3 May 2006. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

In computer science, the term automatic programming identifies a type of computer programming in which some mechanism generates a computer program rather than have human programmers write the code.

There has been little agreement on the precise definition of automatic programming, mostly because its meaning has changed over time. Programming languages such as Java and C do not seem very automatic today, but compared to programming in machine code, as was the only way circa 1958, they are very much automatic programming tools. According to researcher David Parnas, automatic programming is merely a euphemism for high-level languages.

Criticism

Critics of the term say it is a contradiction in terms. To order a computer to program automatically would imply somehow specifying the program requirements in some form a computer can understand. The critics then say such a formal specification of requirements is in itself by definition programming.

This topic is unrelated to high level programming languages. There is plenty of valid research in automatic programming, in particular the field of genetic algorithms and evolutionary programming. This entire article is confused, misinformed nonsense and should be deleted from Wikipedia.