Stories, they have always played an essential role in the formation of the world we live in. Every story, be it a tale, a novel, or an epic revolves around one fundamental story. The story of evolution. Every thing, every industry has its own theory of evolution. Talk about the tech world specifically, the evolution of programming languages has been through a number of changes, molds and innovations. But it wasn’t always like the way we look at it now.
The age of computer programming is almost 50 years and in these 50 years, new technologies replaced the old ones, gained momentum in the programming bubbles and became the code giants. But nothing could stop the innovation that was incorporated the in roots of it. Innovation was the main ingredient that led to the birth of programming languages one after another. Starting with the number, there are almost 2,500 documented programming languages excluding some of the esoteric languages.
Often categorized or ranked in their level of abstractions, programming languages have always been complicated. It won’t be an exaggeration if we say that the modern day programming languages are a bit easier to understand and work on compared to the initial ones. The history of programming languages is a bit too long compared to the other timelines in the tech world but do not worry! We have trimmed it down for you!
History of Programming? We hear one name and that is Charles Babbage. But Charles did not give birth to the computer programming. He made a working analytical engine in 1837. Five years after the first appearance of Babbage’s engine, Ada Lovelace, often known as the “Mother of Computer Programming” translated the memoir of Italian mathematician, Luigi Menabrea about Charles Babbage’s newest proposed analytical engine. She created a set of notes which incorporated the complete method of the calculation of Bernoulli numbers with the engine. Many historians say that it was the first ever computer program created.
Soon after that, many engineers and scientists started to write codes and their numerical calculations were solely based on the decimal numbers. Modern computer programming is now hard to identify if we compare it with its old states just like the other “firsts”. Restrictions of the hardware used to define programming at that time, punch cards were limited to 80 columns and who can forget the “magnetic drums” for memory which meant that computer programs also had to be interleaved with the rotations of the drum making programming more hardware-dependent.
Programmers knew that they have to write hand tuned assembly language programs as soon as the first modern electrically powered computers were created. Soon it was recognized that writing machine codes in the assembly language requires immense intellectual effort and is error-prone. In the early 50’s, first few programming languages possessing the ability to communicate instructions were created. Plankalkül became the first ever high-level programming language. It was created by the Germans but was not implemented until 1998-2000.
Programming reached new paradigms in this era and the 90s were years of relative consolidation in imperative languages. Object-oriented languages were created and C++ gained momentum. However, huge amounts of money were spent on the so-called fifth generation languages having the logic programming constructs. The functional languages remained untouched and moved forward to standardize Lisp and ML. Miranda, a functional language with lazy evaluation, began to take hold in the 70s.
The field of language design went through various trends from 60s to 80s. There was a focus on the use of large-scale systems and use of modules, or large-scale organizational units of code. The notable module systems in the 1980s were Modula, Ada, and ML. These module systems were wedded to generic programming constructs that allowed the generic essence to become parameterized modules.
New paradigms for the imperative programming languages did not appear in this era but many researchers proposed their ideas that had this concept vaguely in them. The development of other programming languages also featured excerpts from this concept of imperative languages like the languages of Argus and Emerald systems, they adapted object-oriented programming distributed systems.
To simplify the things further, we have created an infographic about the scope and history of programming languages. Here it is!