We use computer systems every day: smartphones, home computers, banking systems, surveillance systems, and even public transportation require some AI programming to work properly. Were the programming languages always so developed as they are today? No, they overcame a lot of challenges and a long way of development.
Today, I’m going to tell you about the evolution of modern programming languages. I will cover the times from the first prototypes of computers nowadays. Keeping that in mind, let’s see some of the top Artificial Intelligence trends that might continue in 2020 and shape the future on this site.
There is no consensus when it comes to the date of birth of a programming language. On the one hand, in the first half of the 19th century, Ada Lovelace described the computer and introduced the basic concepts of the cycle and working cell, for which she was awarded the title of the first female programmer.
On the other hand, the first modern programming language was born only during the Second World War on the Z4 relay machine of German inventor Konrad Zuse. Its name was Plankalkül, and it was a full-fledged high-level language that supported conditional operators, arithmetic operations, arrays, cycles, exceptions, and statements. It is well known that in the late ’40s Plankalkül allowed the computer to solve chess problems.
The invention of Zuse could change the course of history, but the results of the war and the efforts of Americans to popularize their own machine language postponed a full-fledged phenomenon of Plankalkül to the world until 1972.
Languages for computers
Instead, evolution has followed the path of machine language. It was convenient for computers, but not very convenient for programmers. It was literally manual: there were only the commands implemented into the processor, all the other operations had to be done manually.
The direct development of the machine language was the Assembler. It was the first exchange of speed for convenience: Assembler was a little less native, but much more programmer-friendly. The languages of high level, comfortable for a programmer, were still far away.
A qualitative leap occurred after the invention of the transistor and the first available computers. It has encouraged the IBM company to work actively on developing the popular commercial language Fortran in the period between 1954 to 1957.
Fortran is a language for scientific and engineering computing. It is believed to become the first realized high-level language. Due to a large number of mathematical libraries, Fortran has been and remains an important language for all kinds of scientific research.
Then the programming has been rapidly developing. Some new languages appeared almost simultaneously: Algol, an algorithmic high-level language, actively used in the USSR and Europe, LISP and COBOL.
Languages for the people
The programming became massive when the BASIC language appeared in 1964. The teachers at Dartmouth College, John Cemeni and Thomas Kurtz, developed it to teach students basic computer programming.
BASIC was an algorithmic language — not speed and efficiency but the ease of understanding was the main concept for its creators. However, BASIC quickly gained popularity in Microsoft and Apple implementations. However, not everyone was happy with it. According to opponents of the language, the simplicity and lack of structure of early versions of BASIC encouraged to use the dangerous methods of development.
In the 1960s, Bell Labs was developing the Unix operating system for its mini-computers. The first operating systems were written on Assembler, but the experiment was unsuccessful. Then, in alphabetical order, Ken Thompson and Dennis Ritchie developed a specially interpreted B language, but this time the result was poor.
Everything changed with the third attempt in 1972 and the C language, which was so successful that 40 years later it was still an important part of software development. For example, according to IEEE Spectrum C, in 2015 it was in second place among all the programming languages.
In another hemisphere, Niklaus Wirth developed Pascal on the remains of the Algol-68 language. His goal was the same as that of BASIC, which was to make it easy to learn and to see what was happening.
Despite its simplicity, Pascal proved to be an extremely effective language not only in training but also in serious development. It is still in high demand both in schools and in the world of large applications: Total Commander, WinRAR, early versions of Skype and Nero Burning ROM were written in Pascal.
In the late 1970s, the principles of object oriented programming were formed. The C language was improved according to it. The new version is now known as C++ and for a long time, it remained the most popular language. It was used in many operating systems and popular applications: Symbian, Windows, OS X, Google Chrome, Mozilla Firefox, and thousands of others.
Four years after the first version of C++, Larry Wall developed Perl, the practical extraction and report language. Initially, the language gained popularity due to the features included in the name, but later it expanded its capabilities and audience. Today, Perl is still actively used as a convenient means of processing text on the command line, but is also in demand in system administration, web development and even games
Python is one of the most favorite languages in the world. Its structure and philosophy help to finish developing the programming product faster. From a development point of view, it is a much more advanced language than any other language existed before 1991. It is minimalistic, but it is more readable, frequently updated and guarantees the highest quality of the products.
However, we can say the same things about Ruby which appeared in 1995. It is widely used by many startups due to simple syntax and ease of use.
At the same time, Java, an object-oriented language that uses a JVM virtual machine, also appeared. The virtual core allows working on any machine. The combination of these factors and the popularity of Android smartphones allows Java to lead the list of the most popular languages according. Many specialists recommend it to beginners as the first or main programming language to learn.
Today, a lot of new ultra-high level languages appear. They are designed not to build software apps but to process large data arrays and statistics. They include R, MATLAB, and Julia.
We can assume that in the future there will be human-oriented languages that will allow writing new software code not more difficult than adding a new post to Facebook. On the other hand, quantum computers will require their own special, quantum Assembler.
What do you think will happen next, and which of the existing languages will you use?