The evolution of programming languages

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



    Prehistoric era


    In terms of determining the birth date of a programming language, there is some duality.

    On the one hand, in the first half of the 19th century, Ada Lovelace described a computer and introduced the fundamental concepts of a cycle and a working cell, for which she received the proud title of the first woman programmer.

    On the other hand, the first programming language in its modern form was born only during the Second World War on the Z4 relay machine of the German inventor Konrad Zuse. Its name is Plankalkül (German: Plankalkül - calculus of plans), and it was a full-fledged high-level language that supports conditional operators, arithmetic operations, arrays, loops, exceptions, and statements. It is known for certain that at the end of the 40s Planckalkül allowed computers 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 delayed the full-fledged appearance of the Planckalkyl world until 1972.


    Z4 at the German Museum, Munich

    Languages ​​for computers



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

    The direct development of machine language was assembly language . This was the first exchange of speed for convenience: the assembler was a little less native, but much more friendly to the programmer. To high-level languages, comfortable for the programmer, was still far away.

    A qualitative leap occurred after the invention of the transistor and the first available computers. Between 1954-1957, IBM was encouraged to actively develop the popular commercial language Fortran.(from the English. Formula and Translation).

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

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

    Languages ​​for the people


    But programming became truly widespread with the advent of the BASIC language in 1964. Teachers of Dartmouth College John Kemeny and Thomas Kurtz designed 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 him. According to opponents of the language, the simplicity and structurelessness of earlier versions of BASIC encouraged the use of vicious and dangerous development techniques.


    “Students who previously studied Basic are almost impossible to teach good programming. As potential programmers, they are mentally mutilated with no hope of recovery. ”
    Edsger Dijkstra.


    Cenozoic


    In the 1960s, Bell Labs began to seriously develop the Unix operating system for its minicomputers. The first OSs were written in assembler, but the experiment failed.
    Then, in alphabetical order, Ken Thompson and Dennis Ritchie specifically developed the interpreted language B (Bi), but this time too, the result left much to be desired.

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

    In another hemisphere, on the remains of the Algol-68 language, Niklaus Wirth designed Pascal. He pursued the same goal as BASIC - the simplicity of training and the visibility of the operations performed.

    Despite the simple appearance, Pascal turned out to be an extremely effective language not only in the field of training, 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. PLO principles

    were formed in the late 1970s, on the basis of which the C language was refined, first receiving the name "C with classes", and then the more familiar look of C ++. Partly due to the perfection of creation, partly due to the fame of one of the pioneers, C ++ has long remained 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 first version of C ++, Larry Wall developed Perl , a “Practical Extraction and Report Language”. Initially, the language gained popularity thanks to the functions inherent 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 no less demanded in system administration, web development, and even games.

    Modernity


    In the article on the history of the evolution of languages , Python is simply obliged to be mentioned , beloved not only by the 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 a finished product by a programmer. From the point of view of development, this is a much more perfect language than all that existed before 1991. It is minimalistic, but at the same time more readable, it is updated quite often and is excellent in the ratio “speed - development quality”.

    However, Ruby can be described with the same characteristics.who saw the light in 1995, adjusted for the fact 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 languages ​​for processing text and data. So HTML, PHP, CSS and JavaScript came into being , without which it is very difficult to imagine web development today .

    Along with this, Java also appeared - an object-oriented language that uses the JVM virtual machine. This ensures that the language is almost completely independent of the machine on which it is launched. The combination of these factors and the popularity of Android smartphones allows Java to top the list of the most popular languages ​​according to Tiobe , and for us -Recommend it to novice developers as a first or primary.

    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 now there are programming languages ​​that can be called super-high-level languages. They are not intended for writing application programs, but for processing large amounts of data 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 a post in LiveJournal. On the other hand, quantum computers will require their own special, quantum assembler.

    What do you think will happen next, and in which of the existing languages ​​do you put?

    Article author: Ilya Bubnov

    Also popular now: