Tech moves fast! Stay ahead of the curve with Techopedia!
Join nearly 200,000 subscribers who receive actionable tech insights from Techopedia.
Automatic programming is a type of computer programming where program code is automatically generated by another program based on certain specifications.
A program that writes more code is written, which then goes on and creates more programs. In a way, translators may be considered as automatic programs and the high-level language they are translating into a lower-level language is the specification.
Automatic programming didn’t always mean the generation of programs by another program. Its meaning evolved over time.
In the 1940s, it meant the automation of the manual process of paper-tape punching which were the programs of punched card machines.
Later it meant the translation of high-level programming languages such as Fortran and ALGOL into low-level machine code.
There are currently two types considered to be automatic programming:
Generative programming: This what normally happens in today’s programming where standard libraries are used to improve the efficiency and speed of programming. For example in C++, the cout function is part of the standard library, and the compiler simply supplies the code for cout during compile. The programmer does not need to re-implement it or even need to know how it works.
Source code generation: Source code is generated based on a model or template which is made through a programming tool or an integrated development environment (IDE). A good example of the is the Google/MIT App Inventor where users simply need to drag and drop functions that they want and then visually connect them to each other in order to define how the app works without ever typing any lines of code. A source code generator will then generate the code based on how the components are connected in the template that was created.