Lamda Symbol


Unofficial symbol of PLT

In this article and related articles, my intention is to describe the evolution of programming languages from the 70s to the 90s, and how programming languages have influenced the way the software is produced.

What is a programming language?

A programming language is a set of grammatical and semantic rules used to communicate with a computer or a machine. A programming language is used to create programs, a set of instructions, which control the behavior of a computer, or it can also be used to express algorithms1. An algorithm is basically a set of finite instructions, which solve a particular soluble problem.

Programming languages cannot be ambiguous, because the computer is not able to choose in case of ambiguity, unlike natural languages, such as English, which can be ambiguous.

There are many programming languages, which differ from one another in the way they are applied to create a certain software. Therefore, we can say that programming languages are also used to solve problems, because the process of creating software2 is mainly the process of analyzing and solving a problem.

There are many programming paradigms, such as structured programming, functional programming, imperative programming, or object-oriented programming. A programming paradigm is a fundamental style of programming, or way of building and creating the structure of a computer program. Therefore, the study of these paradigms is also really important in software engineering3.

When we talk about programming languages, we are usually referring to high level programming languages, such as C, and not the only language that the computer really understands, which is a sequence of 1s and 0s. Programs written with a high level programming languages have to be first translated to the machine language to be executed by the CPU4. There are essentially 2 types of translations: compilation5 and interpretation6. Compilation is usually done through the use of a program called compiler, which translates usually directly the source code7 to the machine language8. The main actor in interpretation is intuitively the interpreter, which reads and executes instruction by instruction the program.

Languages that are more similar to the way the computer works are called low-level programming languages9, languages that are more similar the way the humans think are called high-level programming languages10.

Programming languages can be used as a tool to create software in many domain areas, such as system programming, desktop applications programming, web applications programming, games programming or mobile programming.

If you want to have an introduction to programming and programming languages, I recommend you to watch the next video:

Now that we have a basic background of what a programming language is, we can talk about the evolution of programming languages and the impact they have had on software from the 70s to the 90s.