The first milestone and the first "program" – 1843
According to historians, the first computer program/algorithm was already written in the first half of the 19th century. It was written by the English mathematician Ada Lovelace in 1843, when she translated the articles of the Italian Mathematician Luigi Menabrea and added her own notes to it. In that article, she described the process of calculating Bernoulli numbers using a machine. This was the basis of all programming languages, even if it was described on paper.
Source: MARTIN, Ursula. In: Bodleian Libraries blogs: Ada Lovelace: the Making of a Computer Scientist [online]. Jul 27, 2018 [cit. 2022-12-09]. Available from: http://blogs.bodleian.ox.ac.uk/adalovelace/wp-content/uploads/sites/163/2015/02/Diagram_for_the_computation_of_Bernoulli_numbers.jpg
Turing machine – 1936
Another major milestone was described in 1936 by the British mathematician Alan Turing. In his article "On Computable Numbers, with an Application to the Entscheidungsproblem" he described the concept of a Turing machine. Briefly, this is a simplified model of a computer. The machine consists of an endless tape where read and write operations can be performed.
Plankalkül – the first high-level programming language – 1944-45 (and assembly language - 1949)
The first electrically powered digital computers were created during World War II. Which helped to create the first high-level programming language Plankalkül, created by German engineer Konrad Zuse for the German Z3 computer. Plankalkül is the forerunner of the programming languages we know today. This language has features like: functions, variables, data types, assignment operator, conditional statement, etc. In 1949 was created another lower programming language - assembler.
Source: KRUPP, Brad. In: EASy68K Home: Quick Start Programs [online]. [cit. 2022-12-09]. Available from: http://www.easy68k.com/QuickStart/GIFS1/HelloWorld4.gif
von Neumann architecture – 1945
Another pioneer was the American mathematician of Hungarian origin John von Neumann. In 1945, inspired by the work of Alan Turing and invented his computer architecture. Known as von Neumann architecture. This scheme consists of a Control Unit (CU), Arithmetic and Logic Unit (ALU), memory, registers, inputs and outputs. Many programming languages use this principle. Even today's computers still use this design.
1950s and 1960s – the greatest development of programming languages
At the end of the 1950s, four modern programming languages were created - FORTRAN (1957), ALGOL (1958), LISP (1958) and COBOL (1959). FORTRAN is the oldest language in use. LISP is used in artificial intelligence. COBOL is a programming language that was developed especially for business applications. So worth the processes of credit cards, ATMs, etc. ALGOL had several versions, but none really caught on. However, it served for the development of languages such as: Pascal, C, C++, Java.
In 1964, a group of students at Dartmouth College developed programming language BASIC, which was further developed by Microsoft founders Bill Gates and Paul Allen.
1970s – Pascal and C programming languages – another big boom
Pascal was designed in the early 1970s by Swiss computer scientist Niklaus Wirth. He chose the name "Pascal" in honor of the French philosopher, mathematician and physicist Blaise Pascal. In earlier years, it was widely used for teaching programming. Nowadays more programmers prefer C, C++, C#, Java, Python etc.
In 1972, Dennis Ritchie and Ken Thompson developed the C programming language for the Unix operating system. The C language is known worldwide and is considered the mother language of all modern programming languages. It is also taught in many schools. For example, Google, Facebook or Apple still use it. In the same year, Structured Query Language (SQL) for working with databases was also created.
1980s – C++ programming language – stabilization
In the 1980s, the situation stabilized. The world saw for the first-time languages that are object oriented (OOP). The properties of OOP are: inheritance, polymorphism, encapsulation and abstraction. All this was fulfilled by the C++ language, which was extended from the C language. C++ is used in game engines, Adobe Photoshop and other powerful software.
1990s – the world of the Internet, what we know now
With the rise of the Internet in the 1990s, programming languages also adapted. Eight major programming languages were created during this decade. These were: Haskell (1990), Python (1991), Ruby, Lua (both 1993), Javascript, Java, PHP (all 1995) and C# (2000). The most popular languages of today were created in this decade. They were all high level, robust, object-oriented and secure. Most languages are used for web applications, content management system (CMS) etc.
Current trends
Several programming languages have emerged in the 21st century, such as: Scala, Go, Swift. However, the trend is that new libraries or frameworks are created from already existing languages. The biggest example is Javascript, which is the largest programming language for client-side web applications. Its three most famous frameworks or libraries are: React, Angular and Vue.js. On the server side, it is PHP with frameworks such as: Laravel, Symfony, but also Nette (the founder is the Czech programmer David Grudl). There are also new trends in the field of virtualization, cloud, microservices. With the rise of cyber threats, there is a lot of focus on security.
Source: Visual Studio Code. In: JavaScript in Visual Studio Code [online]. Jul 12, 2017 [cit. 2022-12-11]. Available from: https://code.visualstudio.com/docs/languages/javascript
References
Mental Floss: Remembering Ada Lovelace, the First 'Computer Programmer' [online]. Oct 4, 2022 [cit. 2022-11-20]. Available from: https://www.mentalfloss.com/article/53131/ada-lovelace-first-computer-programmer
History of Data Science: Ada Lovelace: The First Computer Programmer? [online]. Mar 6, 2021 [cit. 2022-11-20]. Available from: https://www.historyofdatascience.com/ada-lovelace/
GeeksforGeeks: Turing Machine in TOC [online]. Jul 5, 2021 [cit. 2022-11-20]. Available from: https://www.geeksforgeeks.org/turing-machine-in-toc/
Britannica: Alan Turing British mathematician and logician [online]. Aug 16, 2022 [cit. 2022-11-20]. Available from: https://www.britannica.com/biography/Alan-Turing
History-Computer: Plankalkül Programming Language: History, Origin, and More [online]. Jan 28, 2022 [cit. 2022-11-20]. Available from: https://history-computer.com/plankalkul-guide/
Computer Science GCSE GURU: Von Neumann Architecture [online]. [cit. 2022-11-20]. Available from: https://www.computerscience.gcse.guru/theory/von-neumann-architecture
Techopedia: Educating IT Professionals To Make Smarter Decisions: Pascal [online]. Jun 13, 2018 [cit. 2022-11-20]. Available from: https://www.techopedia.com/definition/3940/pascal
Javatpoint: C Programming Language Tutorial [online]. [cit. 2022-11-20]. Available from: https://www.javatpoint.com/c-programming-language-tutorial
Javatpoint: C++ Tutorial | Learn C++ Programming [online]. [cit. 2022-11-20]. Available from: https://www.javatpoint.com/cpp-tutorial
DevSkiller: History of programming languages [online]. Aug 26, 2021 [cit. 2022-11-20]. Available from: https://devskiller.com/history-of-programming-languages