The first programming language actually dates to just before the 1940’s. Over the course of time, there have been major developments in programming languages; computer systems have advanced and new languages have been introduced. Now, programming is vital to all modern devices and over time, has allowed us to do amazing things with technology, since computers and IT in general have become one of the most important aspects of modern life.
Pre and during 1940s
Programming was present, even before the 1940s, and for the time, it was revolutionary. One of the key icons of this time was Charles Babbage, who was responsible for the Difference Engine and its successor, the Analytical Engine. The Difference Engine was a design for a mechanical computer and a calculator which was able to tabulate logarithms and trigonometric functions. The Analytical Engine managed to incorporate an arithmetic logic unit (ALU) in the form of loops and integrated memory. This meant that you could consider it as the first “general-purpose” computer, also known as Turing-complete. Unfortunately, none of Babbage’s machines were ever completed since he had issues with his chief engineer and funding the project.
Other figures of this era included Herman Hollerith who encoded information on punch cards, much in the same way that train conductors ‘encoded’ information on train tickets whenever they punch holes in them.
All of the first codes were specialized for a certain application and it was after this that people discovered that logic could be represented with numbers as well as words. It is hard to tell what the first programming language actually was. To answer this, people would have to ask themselves what they would consider to be a programming language, as the first languages were restricted to the hardware they were based on.
It was in the 1940s when the first recognised electrically powered computers came into play. Of course, the performance of these machines was highly limited because of low-speed and memory capacity. This means that people had to hand tune assembly programs in order for them to work. Unfortunately, this technique required a lot of intellectual effort and was error prone at the best of times. When people realised this, they had to find a way to move forward.
This era gave birth to the first three modern programming languages whose descendants still see some use today. These three programs were FORTRAN, LISP and COBOL.
Possible the biggest milestone during this era was ALGOL 60. This was a programming report which brought forward two of the most important programming developments. These included the idea of a nested block structure and lexical scoping. A nested block structure means that different sequences and declarations could be grouped into blocks meaning they didn’t have to be turned into separate procedures. Lexical scoping means that every block could have its own personal procedures and functions.
Late 60s through the 70s
This period brought on languages such as Pascal (1970), Prolog (1972) and of course, C (1972).
Many of the programming languages created in this era ended up having their own family of languages. For example, C led to other languages such as C# and C++.
This was also an important time for the continuing development on the structure of programs.
It was here where the descendants of the current base programs came about, like C++ which combined object-orientated programming and systems programming.
An important new trend was the ability to use “modules” in order to create large programs that focused on large-scale systems. A module is basically a large organised unit of code. Programming language implementation also became more advanced in this time meaning that instead of human assembly programmers, hardware was now designated for compiling programs. What made this possible was part of the RISC movement in computer architecture.
Advancements for programming languages continued on into the 90s.
The 90s can be considered the age of the internet and this was good news for the world of programming languages. This new platform for computing systems means that more languages could be developed and adopted.
In particular, lots of functional languages were created and these new-found languages brought on lots of new hopeful programmers, expanding the programming world.