The history of programming languages
At the time when the first programming language was created, computers had neither a keyboard nor even a display. These were relatively primitive devices that worked on punched cards (special plates with holes). The presence or absence of a hole was the prototype of the modern binary system of zeros and ones.
The first computer programs were written immediately in machine code. Each operation was manually punched out by people on a punched card as a set of holes. The received code was then read by a device specially designed for this purpose. The actual job of the programmers of that time was to make holes like this. Over time, of course, more interesting tools were invented to facilitate the work of specialists. Among those was the assembler language.
As a result, the programmers' task became a little easier. Now there was no need to memorize the machine code for each operation. Instead, more understandable commands taken from the English language were used.
However, it was necessary to know the registers and memory areas and list them in order to perform certain actions, since computers in those days were still not "smart" enough. Assembler, although it made life easier for a programmer, still required considerable mental effort from him.
Over time, it became clear that developing complex programs in this way was very difficult, since developer productivity was relatively low. Only a few lines of code were written per day, and they performed only some minor operations within the same project. Therefore, people tried to bring programming languages as close as possible to natural languages. This would make it possible to significantly speed up the development process and make it more convenient and easy.
Below is a graph of the history of programming languages. The first known languages were complex machine codes that were manually entered into the first computers. As you can imagine, computer programming has rapidly evolved from machine codes into fully automated, human-readable code.
1843: Ada Lovelace's machine algorithm.
Ada Lovelace invents the first-ever machine algorithm for Charles Babbage's difference machine, which lays the foundation for all programming languages.
1944-45: Plankalkül
Sometime between 1944-45, Konrad Zuse developed the first "real" programming language called Plankalkül (Plan Calculation). The Zeus language (among other things) made it possible to create procedures that store code snippets that could be called over and over again to perform routine operations.
1949: Assembler Language
The assembler was used in an automatic delay memory calculator (EDSAC). Assembler was a kind of low-level programming language that simplified the language of machine code. In other words, the specific instructions needed to operate the computer.
1949: Shortcode
Shortcode (or abbreviated code) was the first high-level language (HLL) proposed by John McCauley in 1949. However, it was William Schmitt who implemented it for the BINAC computer in the same year and for the UNIVAC in 1950.
1952: Auto-coding
Autocode was a general term used for a family of programming languages. Autocode, first developed by Alik Glennie for the Mark 1 computer at the University of Manchester, was the first ever compiled language to be implemented, which means it can be translated directly into machine code using a program called a compiler. The autocode was used on the first Ferranti Pegasus and Sirius computers in addition to the Mark 1.
1957: Fortran
FORmula TRANslation or FORTRAN was created by John Backus and is considered the oldest programming language in use today. The programming language was created for high-level scientific, mathematical, and statistical computing. FORTRAN is still used in some of the most advanced supercomputers in the world.
1958: ALGOL (Algorithmic Language)
The algorithmic language or ALGOL was created by a joint committee of American and European computer scientists. Algol served as the starting point for the development of some of the most important programming languages, including Pascal, C, C++, and Java.
1958: LISP (list handler)
The LISP list processor was invented by John McCarthy at the Massachusetts Institute of Technology (MIT). Originally intended for artificial intelligence, LISP is one of the oldest programming languages still in use today, and it can be used instead of Ruby or Python. Companies like Acceleration, Boeing, and Genworks still use LISP in their tech stacks.
1959: COBOL (Common Business-Oriented Language)
Common Business-Oriented Language (COBOL) is the programming language underlying many credit card processors, ATM machines, telephone and cellular calls, hospital signals, and traffic light signal systems (to name just a few). The development of the language was led by Dr. Grace Murray Hopper, and it was designed so that it could be used on computers of all brands and types. COBOL is still used primarily for banking systems.
1964: BASIC (universal character code of instructions for beginners)
The Universal Code for Symbolic Instructions for Beginners, or BASIC, was developed by a group of students at Dartmouth College. This language was written for students who were poorly versed in mathematics or computers. This language was developed by Microsoft founders Bill Gates and Paul Allen and became the company's first commercial product.
1970: PASCAL
Named after the French mathematician Blaise Pascal, Niklaus Wirth developed a programming language in his honor. It was designed as a learning tool for computer programming, which meant it was easy to learn. Apple preferred it in its early days because of its ease of use and power.
1972: Smalltalk
Smalltalk, developed at the Xerox Research Center in Palo Alto by Alan Kay, Adele Goldberg, and Dan Ingalls, allowed programmers to change code on the fly. He introduced many aspects of the programming language that are visible languages today, such as Python, Java, and Ruby. Companies like Leafly, Logitech, and CrowdStrike claim to use Smalltalk in their tech stacks.
1972: C
was developed by Dennis Ritchie of Bell Telephone Laboratories for use with the Unix operating system. It was named C because it was based on an earlier language called "B". Many of the currently leading languages are derived from C, including; C#, Java, JavaScript, Perl, PHP, and Python. It was also used/is still used by major companies like Google, Facebook and Apple.
1972: SQL (at that time SEQUEL)
SQL was first developed by IBM researchers Raymond Boyce and Donald Chamberlain. SEQUEL (as it was called then) is used to view and modify information stored in databases. Currently, the language is an abbreviation of SQL, which means structured query language. There are many companies using SQL, and some of them include Microsoft and Accenture.
1980/81: Ada
Ada was originally developed by a team led by Jin Ichbia from CUU Honeywell Bull under contract with the US Department of Defense. Named after the mid-19th century mathematician Ada Lovelace, Ada is a structured, statically typed, imperative, high-level object-oriented programming language with a wide range of features. Ada was expanded from other popular programming languages at the time, such as Pascal. Ada is used in air traffic control systems in countries such as Australia, Belgium, and Germany, as well as in many other transportation and space projects.
1983: C ++
Björn Stroustrup modified the C language at Bell Labs. C++ is an extension of C with improvements such as classes, virtual functions, and templates. It has been included in the Top 10 programming languages since 1986 and received Hall of Fame status in 2003. C++ is used in MS Office, Adobe Photoshop, game engines, and other high-performance software.
1987: Perl
Perl was created by Larry Wall and is a universal high-level programming language. It was originally developed as a scripting language designed for text editing, but it is now widely used for many purposes such as CGI, database applications, system administration, network programming, and graphical programming.
1990: Haskell
Haskell is a general-purpose programming language named after the American logician and mathematician Haskell Brooks Curry. It is a purely functional programming language, that is, primarily mathematical. It is used in many industries, especially those dealing with complex calculations, records, and number processing. Like many other programming languages of that era, it's not that common to see Haskell used for well-known applications. With that said, the programming language has been used to write a number of games, one of which is Nikki and the Robots.
1991: Python
Named after the British comedy troupe Monty Python, Python was developed by Guido Van Rossum. It is a universal high-level programming language designed to support various programming styles and is pleasant to use (a number of manuals, examples and instructions often contain links to Monty Python). Python is still one of the most popular programming languages in the world, used by companies such as Google, Yahoo and Spotify.
1991: Visual Basic
Visual Basic, developed by Microsoft, allows programmers to use a drag-and-drop style to select and modify pre-selected code snippets through a graphical user interface (GUI). This language is not used too often these days, but Microsoft has partially used Visual Basic for a number of its applications, such as Word, Excel, and Access.
1993: Ruby
Ruby, created by Yukihiro Matsumoto, is a high-level interpreted programming language. A learning language influenced by Perl, Ada, Lisp, and Smalltalk, among others. Ruby is mainly used for developing web applications and Ruby on Rails. Twitter, Hulu, and Groupon are well-known examples of companies using Ruby.
1995: Java
Java is a universal high-level language created by James Gosling for an interactive television project. It has cross-platform functionality and is consistently ranked among the most popular programming languages in the world. Java can be found everywhere, from computers to smartphones and parking meters.
1995: PHP
Formerly known as the "Personal Homepage," which now means "Hypertext Preprocessor," PHP was developed by Rasmus Lerdorf. Its main application includes the creation and support of dynamic web pages, as well as server-side development. Some of the largest companies around the world use PHP, including Facebook, Wikipedia, Digg, WordPress, and Joomla.
1995: JavaScript
JavaScript was created by Brendan Eich, this language is mainly used for dynamic web development, PDF documents, web browsers and desktop widgets. Almost every major website uses JavaScript. Gmail, Adobe Photoshop, and Mozilla Firefox include some well-known examples.
2000: C #
Developed at Microsoft with the hope of combining the computing power of C++ with the simplicity of Visual Basic, C# is based on C++ and has much in common with Java. This language is used in almost all Microsoft products and is used mainly in the development of desktop applications.
2003: Scala
Scala, developed by Martin Odersky, combines mathematical functional programming and organized object-oriented programming. Scala's compatibility with Java makes it useful for Android development. Linkedin, Twitter, Foursquare, and Netflix are just a few examples of the many companies that use Scala in their tech stacks.
2003: Groovy
Inherited from Java, Groovy was developed by James Strachan and Bob McWhirter. Language increases productivity because it is concise and easy to learn. Some well-known companies that use Groovy in their tech stacks are Starbucks, Transfaview, and Craftbase.
2009: Golang (Go)
Go was developed by Google to solve problems caused by large software systems. Due to its simple and modern structure, Go has gained popularity among some of the largest technology companies around the world, such as Google, Uber, Twitch and Dropbox.
2014: Swift
Developed by Apple as a replacement for C, C++, and Objective-C, Swift was designed to be simpler than the aforementioned languages and leave less room for error. Swift's versatility means that it can be used for desktop, mobile, and cloud applications. The leading language application Duolingo has launched a new application written in Swift.
The history of the creation of the first programming language
Assembler is a low—level programming language that is an intermediate link between machine code and high-level programming languages. It is used to write programs that control a computer or other devices at a lower level by interacting directly with the hardware. Code written in this language is usually saved using the ASM extension.
Assembly language programs are written as a set of mnemonic instructions, each of which corresponds to a specific processor instruction. These instructions are then translated (assembled) into machine code, a set of binary numbers that the central processor understands and performs the corresponding operations.
They usually begin learning programming by displaying the line "Hello, world!" on the screen.In the Python programming language, one command is enough for this:
Simple, clear and beautiful. However, there is a programming language in which, in order to achieve the same result, it is necessary to write a more extensive piece of code in assembler:
Despite the apparent difference in complexity between Python and assembler, it is important to understand that each of its commands performs only one operation, while one Python command causes several processor operations to be performed. Both languages have their advantages and are used in various fields of programming.