📜 ⬆️ ⬇️

Evolution of programming languages

Friday is the time to relax and remember how it all began. We present you a brief insight into the history of the development of GeekBrains.



Prehistoric era


From the point of view of determining the date of birth of a programming language, there is some duality.
')
On the one hand, in the first half of the 19th century, Ada Lovelace described the computing machine and introduced the fundamental concepts of the cycle and the working cell, for which she received the proud title of the first female programmer.

On the other hand, the first programming language in the modern concept was born only during the Second World War on the relay machine Z4 of the German inventor Konrad Zuse. Its name is Plankalkyl (it is Plankalkül - calculus of plans), and it was a full-fledged high-level language that supports conditional operators, arithmetic operations, arrays, cycles, exceptions and assertions. It is known for certain that at the end of the 40s Plankalkyl allowed the computer to solve chess problems.
Zuse's invention could have changed the course of history, but the results of the war and the efforts of the Americans to popularize their own machine language postponed the full-fledged Plancalcule to the world until 1972.


Z4 in the German Museum, Munich

Languages ​​for computers



Instead, evolution has gone the way of machine language . It was convenient for computers, but not very convenient for programmers. It was literally work with iron manually: there were only those commands that were sewn into the processor, all other operations had to be implemented manually.

Direct development of machine language has become an assembly language . This was the first exchange of speed for convenience: the assembler was slightly less native, but much more programmer-friendly. The high level languages ​​comfortable for the programmer were still far away.

A qualitative leap occurred after the invention of the transistor and the first available computers. This prompted IBM to actively develop the commercially popular language Fortran (from the English. Formula and Translation) from 1954-1957.

Fortran is a language for scientific and engineering computing. It is believed that he was the first implemented high-level language. Due to the large number of mathematical libraries, Fortran has been and remains an important language for all sorts of scientific research.

Then the rapid development of programming began: Algol appeared almost simultaneously, an algorithmic high-level language actively used in the USSR and Europe, LISP and COBOL.

Languages ​​for the people


But the real massive programming was with the advent of the language BASIC in 1964. Teachers of Dartmouth College John Kemeny and Thomas Kurtz developed it to teach students the basics of computer programming.

BASIC was an algorithmic language, for its creators it was important not speed and efficiency, but easy understanding. Nevertheless, BASIC quickly gained popularity in implementations from Microsoft and Apple. But not everyone was happy with it. According to opponents of the language, the simplicity and lack of structure of earlier versions of BASIC encouraged the use of perverse and dangerous development techniques.


“It is almost impossible to teach students who have previously studied Basic to good programming. As potential programmers, they are mentally mutilated without hope of recovery. ”
Edsger Dijkstra.

Cenozoic


In the 1960s, Bell Labs took seriously the development of the Unix operating system for its minicomputers. The first operating systems were written in assembler, but the experiment was unsuccessful.
Then, alphabetically by Ken Thompson and Dennis Ritchie, the interpreted language B (B) was specially developed, but this time the result left much to be desired.

Everything changed with the third attempt in 1972 and the C language , which was so successful that after 40 years it occupies an important place in software development. For example, according to IEEE Spectrum C, in 2015, ranked second: “ The 2015 Top Ten Programming Languages ”.

In the other hemisphere on the remains of the tongue Algol-68, Niklaus Wirth developed Pascal . The goal he pursued is the same as BASIC - ease of learning and visibility of the operations performed.

Despite the seemingly uncomplicated appearance, Pascal proved to be an extremely effective language, not only in teaching, but also in serious development. It remains extremely popular 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.

At the end of the 1970s, the principles of the PLO were formed, on the basis of which the C language was refined, receiving first the name “With with classes”, and then the more familiar look of C ++. Partly because of the perfection of the creation, partly because of the glory of one of the pioneers, C ++ has long been the most sought-after language. Symbian, Windows and OS X operating systems, Google Chrome and Mozilla browsers, and thousands more popular applications were written on it.

Four years after the appearance of the first C ++ version, Larry Wall developed Perl , a “Practical Language for Data Extraction and Reporting” (Practical Extraction and Report Language). Initially, the language gained popularity due to the functions embodied in the name, but later expanded its capabilities and audience.

Today, Perl is still actively used as a convenient means of processing text on the command line, but it is also in demand in system administration, web development, and even games.

Modernity


The article on the history of the evolution of languages ​​is simply obliged to mention Python , beloved not only by teachers of GeekBrains, but also, judging by the breadth of use, by many foreign universities and large foreign companies. Its structure and philosophy are aimed at accelerating the development of the finished product by the programmer. From the point of view of development, this is a far more perfect language than all that existed before 1991. It is minimalist, but at the same time more readable, often updated and beautiful in terms of "speed - quality of development."

However, the same characteristics can be described by Ruby , who saw the light in 1995, with the amendment that Yukihiro Matsumoto had 2 years to think about how his language could be better than his contemporaries.

The development of the Internet at the end of the 20th century required better quality text and data processing languages. So HTML, PHP, CSS and JavaScript were born, without which today it is very difficult to imagine web development .

Java , an object-oriented language using the JVM virtual machine, also came along. This provides the language with almost complete independence from the machine on which the launch is performed. The combination of these factors and the popularity of smartphones with the Android OS allows Java to head the list of the most popular languages ​​according to Tiobe , and we recommend recommending it to novice developers as the first or main language.

If you look at the same rating, at the end of the second ten you can find modern programming languages. For example, Swift is an Apple product, popular not only due to its qualities, but also due to the big name of the manufacturer.

Future


Already, there are programming languages ​​that can be called ultra-high-level languages. They are not intended for writing application programs, but for processing large data arrays and statistics. Among them are R, MATLAB and Julia .
It can be assumed that in the future there will appear human-oriented languages ​​in which writing a program will be no more difficult than the post in LJ. 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?

Article author: Ilya Bubnov

Source: https://habr.com/ru/post/282788/


All Articles