Internet
Fact-checked

At EasyTechJunkie, we're committed to delivering accurate, trustworthy information. Our expert-authored content is rigorously fact-checked and sourced from credible authorities. Discover how we uphold the highest standards in providing you with reliable knowledge.

Learn more...

What Is Automatic Programming?

Eugene P.
Eugene P.

Automatic programming in computer science and computer engineering refers to the production of computer programming code by some system or software in response to more abstract user input or commands. In one sense, automatic programming describes any situation in which a computer or software will replace a statement inputted by a programmer with a block of code that can concretely perform the actions described in the statement. When used in another sense, automatic programming can describe the goal of creating a programming language or system that can intuitively assemble a completed application based only on the barest direction from the programmer. Automatic programming can be used in some computer research fields to refer to the process of designing an artificial intelligence (AI) system capable either of autonomously producing a program to complete a task or self-modifying its own code to enhance functionality.

The definition of automatic programming is somewhat vague. It originally was used during the early years of computer programming to describe the translation of abstract assembly-language-like instructions into expanded machine code. This was called automatic programming because the compiler would automatically replace a single human readable statement with dozens or more machine code instructions, essentially automatically writing the program in a primitive way. The same actions still are performed by language compilers in most cases, regardless of the overlaying programming language being used.

Woman doing a handstand with a computer
Woman doing a handstand with a computer

Another use for the term "automatic programming" is to describe automated code generation. This is when an integrated development environment (IDE) or other tool can be used visually, or in some very easy way, to specify how an end user would see a program. Once the desired result is created, the software or IDE then can automatically produce functional source code to attain the result without any further input from the programmer.

In some instances, automatic programming also refers to the study of how to implement languages at such a high level that the source code looks like natural language. A programming language like this then would automatically produce the application based on the programmer's broad input. No matter how automatic a language becomes, however, it should be noted that the programmer needs at some point to manually modify the code for specific functionality using the programming language itself.

In the field of artificial intelligence, some research is performed into developing a system that can automatically program itself to add capabilities it originally was not given. This also extends into AIs that are capable of writing independent software that can solve a specific problem. One application would be to create a programming language that could use AI to generate fast program prototypes.

Discuss this Article

Post your comments
Login:
Forgot password?
Register:
    • Woman doing a handstand with a computer
      Woman doing a handstand with a computer