Automatic Encoding: Definition & Examples

Instructor: Martin Gibbs

Martin has 16 years experience in Human Resources Information Systems and has a PhD in Information Technology Management. He is an adjunct professor of computer science and computer programming.

While automatic programming may sound like it belongs in the realm of dreams, it need not be out-of-reach. You just define what the program is supposed to do, but let the computer system create the coding that defines how the task is to be completed.

What Is Automatic Encoding / Programming?

Automatic coding / programming is coding that is generated automatically by another program based on given specifications. In the true sense of the word, it is code writing code. In fact, you could theoretically have code that writes code that writes code that writes code! That may sound very technical, but you have seen examples of such programming in your daily life. If you have used Microsoft Excel or Access, you have seen it in action.

This kind of programming is actually the basis for artificial intelligence, and while this may sound scary to the beginning programmer, the foundations need not be as intimidating. Automatic programming / coding started almost at the advent of the computer itself; as soon as the first complex lines of code were written, people started thinking about how code might write code.

Back in the 1950s, researchers developed systems that completed automatic tasks based on a formal set of rules. Then in 1969, a technique called deductive synthesis was developed which built computer programs automatically. This complex-sounding word can be thought of this way: The computer plays the role of detective, 'deducing' rules and tasks and then carrying out those rules until a program is developed (the 'synthesis').

In the early days of computers, it was thought that automatic programming could replace the human programmer in the software-generation equation. Fortunately for programmers, this was farthest from the truth; we still need professionals to interpret end-user designs and come up with a framework for developing a solution. There is also a benefit to end users: The tools that are created with automatic coding typically require far less programmer maintenance, and allow users to configure and maintain the software without in-depth programming knowledge. This frees up the programmer to design and develop much more complicated solutions.


Compilers and Source Code Generators

Programming with languages such as C++, Visual Basic, COBOL, etc., requires the use of a compiler to translate the high-level code into machine-level language. Compilers take the instructions and write a computer program that the machine can understand, and then the machine carries out the tasks as defined by the human programmer. Although most programmers today would not consider compilers to be automatic programming, when they were first used the term was appropriate.

Through integrated development environments, such as the Google/MIT App Inventor, users only need to drag and drop functions where they want them. A function in a computer program is a named section of the program that performs a specific instruction, e.g., function goGetBreadFromStore() would carry out the task 'get bread' when run. Connectors between goGetBreadFromStore() and buyOnlyWheat() can be easily placed between the two functions. Behind the scenes, a source code generator creates the programming code for the flow. The user is not required to know any computer programming languages or type any code.

Microsoft Access / Excel

While much of more recent automatic programming and artificial intelligence may seem futuristic, think of common database or spreadsheet applications like Access and Excel. These use automatic programming to allow non-programmers to build business applications that use databases, charts, and reports, and to conduct very complicated calculations.

To unlock this lesson you must be a Member.
Create your account

Register to view this lesson

Are you a student or a teacher?

Unlock Your Education

See for yourself why 30 million people use

Become a member and start learning now.
Become a Member  Back
What teachers are saying about
Try it risk-free for 30 days

Earning College Credit

Did you know… We have over 200 college courses that prepare you to earn credit by exam that is accepted by over 1,500 colleges and universities. You can test out of the first two years of college and save thousands off your degree. Anyone can earn credit-by-exam regardless of age or education level.

To learn more, visit our Earning Credit Page

Transferring credit to the school of your choice

Not sure what college you want to attend yet? has thousands of articles about every imaginable degree, area of study and career path that can help you find the school that's right for you.

Create an account to start this course today
Try it risk-free for 30 days!
Create an account