A Brief History of Programming Languages

Programmers are very important in the game industry. You can’t do without them. And what do they need to know? Programming languages, of course. That’s how the code is written. They are a powerful tool in the field.

So prior to defining a difference between software engineering and computer science, let’s activate our time machine and go back to the beginning and find out what was written long before C++ and Python.

The basics and a bit of history 

Let’s define the terms. A program is a set of instructions for a particular implementer (machine, device, etc.) and a programming language is a system of symbols used to write programs.

The first great programmers appeared long before computers, with which they are usually associated. Al-Jazari’s automaton-humanoid (1206), Jacquard’s loom (1804), and Babbage’s “Analytical Machine” (1843) were programmable devices. The automatic machine was programmed with cams and clamps, the machine, and the “difference machine” with punch cards. Ada Augusta Lovelace, Byron’s own daughter, even wrote a program for Babbage’s device (which he never assembled) that solved Bernoulli’s equation.

The 1940s and 50s: from Assembler to Fortran and ALGOL

 

Computational machines work with commands consisting of zeros and ones (machine code). But this language was unwieldy and inconvenient. Therefore, specialists decided to automate the typing of machine code. In the late forties and early fifties, Assembler was introduced. It used letters or abbreviated words (for example: add instead of 000010) to designate objects and commands. It was a low-level language, that is, designed for a specific type of processor. Furthermore, it greatly simplified the work of programmers.

Later, so-called high-level (or machine-independent) languages appeared. Unlike its predecessors, they were not tied to specific devices. Compilers were created for them – “translators” of programs created on high-level languages to “low-level” ones. The first of these was Shortcode (1949). In 1950, William Schmitt adapted it for the UNIVAC computer.

From 1954 to 1957, IBM, under the direction of John Backus (1924-2007), developed the famous Fortran (from formula translator). It was used for technical calculations and scientific problems. Fortran became the first relatively widespread programming language – by 1963, there were already 40 compilers for various machines. The language is still in use today, mostly for complex calculations.

The success of “Fortran” forced competitors to act. The German Society for Applied Mathematics and Mechanics established a committee and tasked it with developing a new universal programming language. The same was done by the American Association for Computing Machinery. Fortunately, instead of confrontation, the result was cooperation (except for the quarrel about whether to use a decimal point or a comma). The committees came together and created ALGOL (1958), the “grandfather” of Java, Pascal, and C++. Like Fortran, ALGOL spread worldwide but was much more warmly received in Europe and the USSR than in the USA. The language had a block structure, which was progressive at the time, and later became a standard.

The 1960s and 70s: from structured programming to object-oriented programming

The first “star” of the 1960s was BASIC (aka Beginner’s All-purpose Symbolic Instruction Code), created in 1964 by Thomas Kurtz and John Kemeny, professors at Dartmouth College. The developers wanted to create a simple language with which non-professionals could develop simple programs to solve applied problems. BASIC was based on Fortran II and Algol. The language became popular in the 1970s with the spread of microcomputers.

The 1980s-1990s: multiparadigm, visual languages, the Internet

In the early 1980s, Bell Labs employee Bjorn Stroustrup decided to improve C and added some features to Simula (1967). This is how C++ appeared, combining features of object-oriented and system languages. Stroustrup introduced into C the ability to work with objects and classes, strict type checking, default arguments, etc. The first versions of the language (1980) were called “C with classes”, and the name C++ began to be used in 1985 with the release of the next version. By that point, the language’s capabilities had expanded even further. C++ is still relevant today, actively used (e.g. in game engines and Adobe Photoshop) and developing.