18 great inventions in the world of computers and programming

    Recently, my colleagues and I had a discussion on the topic of the first computers and programs. The conversation recalled not only famous scholars such as Charles Babbage, but also lesser known ones like Ada Lovelace. As a result, the idea arose to conduct a study and compile a chronology of the history of computers and programming.

    In the process of studying various sources, many interesting facts were discovered. For example, Babbage is technically not the inventor of the computer, that the first high-level programming language was not FORTRAN at all, and styluses were used for CRT monitors.



    1. The first computer: “The Machine of Differences” (1821)


    Forerunner of the Analytical Engine. The Difference Machine was the first attempt to create a mechanical computer. The project was developed by the scientist Charles Babbage. With the support of the British government, he began to work on the device. But due to the high cost, financing was stopped and the computer was never built.



    2. The first general-purpose computer: “Analytical machine” (1834)


    Charles Babbage continued his work and, based on his experience, set about developing a mechanical computer. This machine was intended to automate calculations by approximating functions by polynomials and calculating finite differences. Due to the possibility of an approximate representation in the polynomials of logarithms and trigonometric functions, the “analytical machine” could be a universal device.



    3. The first Computer program: an algorithm for calculating the Bernoulli number (1841 - 1842)


    The mathematician Ada Lovelace began translating the reports of her Italian colleague, the mathematician Luigi Menabrea. To do this, she used the same Babbage analytical machine in 1841. During the translation, the woman became interested in the computer and left notes. One of the notes contained an algorithm for calculating the Bernoulli number (a sequence of rational numbers B 1 , B 2 , B 3 ) by an analytical machine, which, experts believe, was the very first computer program.



    4. The first working computer: Z3 Konrad Zuse (1941).


    The German inventor Konrad Zuse was the first to create a working Z3 computer. Based on his first two models Z1 and Z2, the scientist assembled a full-fledged electromagnetic programming computer based on electronic relays. Z3 had a binary system, floating-point numbers, an arithmetic device with two 22-bit registers, control through 8 channel tapes.

    It was supposed that this would be a secret project of the German government. For the most part, it was designed for the Aviation Research Institute. True, Tsuza himself was little interested in the interests of the military, he just wanted to create a working computer.

    The original Z3 was destroyed during the bombing of Berlin in 1943.



    5. The first electronic computer: Atanasoff-Berry Computer (Atanasoff-Berry Computer, ABC, 1942)



    The first digital computing device without moving parts. The computer was created by John Vincent Atanasov and Clifford Berry. ABC was used to find solutions for simultaneous linear equations. It was the very first computer to use a two-piece set to represent data and electronic switches instead of mechanical ones. The computer, however, was not programmable. ABC first introduced more modern elements, such as binary arithmetic and triggers. The disadvantage of the device was its specialization and inability to change computations due to the lack of a stored program.



    6. The first programmable electronic computer: “Colossus” (1943)


    The Colossus computer is a secret development from the Second World War. It was created by Tommy Flowers in conjunction with the Max Newman branch, with the goal of providing assistance to the British in decrypting intercepted Nazi messages. They were encrypted with the Lorentz cipher. The actions were programmed with electronic switches and plugs. "Colossus" gave time to decrypt messages from several hours to weeks. Using a computer, many fascist encryptions were decrypted.



    7. First general-purpose programmable electronic computer: ENIAC (1946)


    ENIAC (Electronic Numerical Integrator and Calculator) is the first general-purpose electronic digital computer with the possibility of reprogramming to solve a wide range of problems. Funded by the U.S. Army, ENIAC was developed by the Moore School of Engineering at the University of Pennsylvania. It was created by a team of scientists led by John Presper Eckert and John William Mockley. ENIAC was 150 feet wide and could be programmed to perform complex operations. The calculations were made in the decimal system, the computer operated with numbers with a maximum length of 20 digits.

    An interesting fact was that it took several days to program a task on ENIAC, but a solution was issued in a matter of minutes. When switching over, ENIAC "turned" into an almost new specialized computer for solving specific problems.



    8. The first trackball (1946/1952)


    Trackball is a pointing device for entering information about relative movement for a computer. In fact, an analogue of a modern computer mouse. According to one version, it was developed by Ralph Benjamin when he worked on a monitoring system for a low-flying aircraft. The invention that he described included a ball for controlling the XY coordinates of the cursor on the screen. The design was patented in 1947, but was not released, because the project was classified as “secret”.

    A trackball was also used in the Canadian Navy's DATAR system in 1952. This "ball pointer" was used by Tom Cranston.



    9. The first computer for joint storage of data and programs in memory: SSEM (1948)


    Manchester Small-Scale Experimental Machine (SSEM) is the first electronic computer built on the principle of joint storage of data and programs in memory. The creators - Frederick Williams, Tom Kilburn and Jeff Tutill were members of the University of Manchester. The machine was conceived as an experimental apparatus for studying the properties of computer memory on a CRT ("Williams tube"). Programs were introduced in two-part form, using 32 switches, on CRT products.

    By the way, successful testing of SSEM was the beginning of the creation of a full-fledged computer on Williams' handsets - “Manchester Mark I”.



    10. The first high-level programming language: Plankalkül (Plankalkül, 1948)


    This language was used by Konrad Zuse (developer of the first working Z3 computer). Although Zuse started creating Plankalkül since 1943, it was first applied in 1948, when a scientist published a work on programming. True, this programming language did not attract much attention. The first compiler for Planckalkül (for modern computers) was created only in 2000 by the professor at the Free University of Berlin, Joachim Homan.



    11. First assembler: “Initial Teams” at EDSAC (1949)


    Assembler is a translator of the source code of a program that converts mnemonics (low level) into a numerical representation (machine code).

    The world's first working and practically used computer with a program stored in memory. Programs were in mnemonic codes instead of machine ones, making the source code the very first assembler.



    12. The first personal computer: "Simon" (1950)


    Simon was the first computer available. It was designed by Edmund Berkeley and built by mechanical engineer William Porter and Columbia University graduates Robert Jenson and Robert Wall. Simon had a command system and could perform nine operations, including two arithmetic operations - addition and subtraction, as well as comparison and choice of arguments. Numbers and commands were read from the punched tape, and the result was displayed on the indicator panel. Numbers ranging from 1 to 255 in binary notation, stuffed on punched tape, could be input.



    13. First compiler: A-0 for UNIVAC 1 (1952)


    Compiler is a program that converts a high-level language into machine code. A-0 System was a program created by legendary female programmer Grace Hopper. The main objective of the system was to convert a program defined as a sequence of subprograms and arguments into machine code. A-0 was released to customers with its source code, making perhaps the very first publicly available software.

    In 1952, Hopper got a ready-to-use compiler. Her statement on this subject:

    They could not believe it. I had a working compiler and no one used it. After all, they told me that a computer can only perform arithmetic operations.




    14. The first autocode: Autocode Glenny (1952)


    Autocode is the name of a group of high-level programming languages ​​that the compiler uses. The first autocode was created for a series of computers at the universities of Manchester, Cambridge and London. The autocode was created by one of Turing's Manchester employees - Alik Gleni (actually named in his honor).



    15. The first computer mouse (1964)


    The idea of ​​a computer mouse came up with the idea of ​​an American physicist Douglas Engelbart during a conference on computer graphics. He came up with a device with a pair of small turning wheels that can be used to freely move the cursor around the screen. The prototype was created by its lead engineer, Bill English, but English and Angelbart never received royalties for the design.



    16. The first commercial computer: Programma 101 (1965)


    The PC Programma 101, also known as Perottina, was the first commercial PC in the world. He performed the following actions: addition, subtraction, multiplication, division, calculated the square root, absolute value and part. The computer was priced at $ 3,200 and despite the high cost, it sold well (about 44,000 units). Programma 101 was invented by the Italian engineer Pierre Giorgio Perotto.



    17. The first touch screen (1965)


    In the photo below - the first touch screen (although it is not much similar to modern models). This is a touch screen panel without pressure sensitivity (equally for any touch of the screen) with a single point of contact. Subsequently, the concept was used by air controllers in the UK until the 90s.



    18. The first object-oriented programming language: Simula (1967)


    Simula is a general-purpose programming language developed by the staff of the Norwegian Computing Center (Oslo) Kristen Nygord and Ole-Johan Dahl for modeling complex systems. Charles Richard Hoare’s teachings on class constructs, programming languages ​​with objects, classes, and subclasses led to the creation of SIMULA 67.

    Simula 67 was also the first language with built-in support for the basic mechanisms of object-oriented programming.

    A small code example
    Begin
       Class Glyph;
          Virtual: Procedure print Is Procedure print;
       Begin
       End;
       Glyph Class Char (c);
          Character c;
       Begin
          Procedure print;
            OutChar(c);
       End;
       Glyph Class Line (elements);
          Ref (Glyph) Array elements;
       Begin
          Procedure print;
          Begin
             Integer i;
             For i:= 1 Step 1 Until UpperBound (elements, 1) Do
                elements (i).print;
             OutImage;
          End;
       End;
    Ref (Glyph) rg;
       Ref (Glyph) Array rgs (1 : 4);
       ! Main program;
       rgs (1):- New Char ('A');
       rgs (2):- New Char ('b');
       rgs (3):- New Char ('b');
       rgs (4):- New Char ('a');
       rg:- New Line (rgs);
       rg.print;
    End;
    


    You can learn a lot from the pioneers in the history of computing and creating computers. The work done by generations before us has led to many changes that shape the modern IT world.

    Also popular now: