Brief history of programming languages
Brief history of programming languages
Early on, programming languages were highly specialized in their tasks, operating in binary codes for the exact computer. In the 20th century, computer programming became essential in the world, running the systems in almost every device we use. Humans and machines “think” differently and computer programming allowed us to tell machines what to do. Modern programming languages use syntax that is more accessible for communicating instructions.
Ada Lovelace, Charles Babbage and the Analytical Engine
The Analytical Engine is one of the most successful achievements of Charles Babbage. It incorporated an arithmetic logic unit, integrated memory and control flow. In 1840, Babbage gave a seminar at the University of Turin about the invention. Then, Italian engineer, Luigi Menabrea, translated the lecture into French and it was further published in the Bibliotheque universelle de Geneve in 1842. Ada Lovelace then translated the paper into English. Additionally, she included her own alphabetically labelled notes to the translation. In the last note, she included a description of an algorithm for the Analytical Engine that would compute Bernoulli numbers. Lovelace’s algorithm is considered to be the first algorithm that would be specifically tailored to be implemented on a computer. Even though the engine was never completed due to lack of funding and a conflict between Babbage and his chief engineer, Ada Lovelace is often cited as the first computer programmer.
Trial model of the Analytical Engine displayed in the Science Museum in London
Assembly languages
Assembly language is any low level programming language which is specifically designed for a particular computer architecture. It simplifies the language of machine code and the instructions are needed to tell the computer what to do. On the contrary, high level programming languages are portable across multiple systems. Maurice Wilkes and his team at University of Cambridge constructed one of the first electronic digital stored-program computer - the The Electronic delay storage automatic calculator in 1949. The machine was capable of adding, subtracting, multiplying-and-adding, AND-and-adding, shifting left, arithmetic right shifting, printing characters and a few more but no division was possible. The instructions were held in a 18 bit format, the topmost bit could not be used due to timing issues, therefore only 17 bits were available.
Electronic delay storage automatic calculator (EDSAC)
Autocode
Alick Glennie develped Autocode at the University of Manchester in the early 1950s, which is believed to be the first compiled programming language, which means that it can be translated directly into machine code using complier - a program primarily used for translation of high-level language to a lower level in order to create an executable program.
Fortran
In 1954 Fortran (which stands for Formula Translation) was created by John Backus. It was the first widely used general-purpose programming language that was used for complication mathematical, scientific and statistical work. When introduced, it was met with skepticism because of delays in development and bugs but eventually became known for its efficiency. It is one of the oldest languages still used today for programs that benchmark the world’s fastest computers.
AGOL and COBOL
Created in 1958 and 1959 respectively. Agol stands for Algorithmic Language and was created for scientific use. It is a predecessor of Pascal, C, C++, and Java. COBOL stands for COmmon Business Oriented Language and was created by Dr. Grace Murray Hopper. It was designed for business and it is still used in ATMs, credit card processing, telephone systems, hospital and government computers, automotive systems, and traffic signals. Fun fact: Pieces of COBOL source code were used in Terminator’s vision display in the movie “The Terminator”.
Late 1960s to late 1970s flourished with programming languages, many of which are still used today.
BASIC
BASIC, which stands for Beginner’s All-purpose Symbolic Instruction Code, was developed in 1964 by John G. Kemeny and Thomas E. Kurtz for students to help with understanding computers, even without advanced skillset in mathematics. Bill Gates and Paul Allen modified BASIC and became the first Microsoft product.
Pascal
Pascal was named after the French mathematician, physicist and philosopher Blaise Pascal. The language was developed in 1970 by Niklaus Wirth and created as a tool for teaching computer programming. In Apple’s early years it was used as a main language for their software programming.
C
C was developed in 1972 by Dennis Ritchie at Bell Labs in order to construct utilities running on Unix. This high-level language is closer to human language and it influenced a variety of other languages such as c#, Go, Java, Ruby, Perl, Python and JavaScript.
SQL
SQL was developed in 1972 by Donald D. Chamberlin and Raymond F. Boyce at IBM. SQL stands for Structured Query Language and it is used for viewing, changing and managing data stored in databases.
MatLab
MATLAB stands for Matrix Laboratory and it was developed by Cleve Moler in 1978. It is widely used for mathematics, research and education as it is capable of creating two- and three-dimentional graphics. It allows for matrix manipulations, implementing of algorithms, plotting data and interfacing with programs written in other languages.
Objective-C
Objective-C was developed in 1983 by Brad Cox and Tom Love and it is a general-purpose programming language that adds Smalltalk-style messaging to the language. It is the main language supported by Apple for macOS and iOs, the operating system of Apple.
C++
Developed by Bjarne Stroustrup in 1983 and based on C language, C++ is one of the most widely used languages in the world. Game engines and high-performance software such as Adobe Photoshop are in C++.
Perl
Perl was developed by Larry Wall in 1987 as a scripting language to make report processing easier. Nowadays it is used for Linux system administration, Web development and network programming. Perl is actually a family of languages that include features from other languages including C, shell script, AWK and sed. Perl 5 became popular in late 1990s as a CGI scripting language, due to its regular expression and string parsing abilities.
Python
Guido Van Rossum designed Python in 1991. The premise of Python was that is should be easier to read for humans and it requires fewer lines of code in comparison to other programming languages. Nowadays Python is used for sites such as Instagram, Uber, Spotify or Dropbox. Fun fact 2: Python was named after the Monty Python, the British comedy group.
R
R is named after the first name of authors - Ross Ihaka and Robert Gentleman. It was developed in 1993 at the University of Auckland in New Zealand. R and its libraries became a powerful tool for statistical computing and graphics. Nowadays it is widely used by data miners and statisticians for data analysis. As of September 2020, R ranks 9th in the popularity of programming languages.
Java
Java was developed by Sun Microsystems in 1995 and it was originally called Oak. It is intended to ‘write once, run anywhere’ meaning the the code can run on all platforms that support Java, without re-compiling. At the moment of design, 3 developers James Gosling, Mike Sheridan, and Patrick Naughton had 5 goals:
- It must be simple, object-oriented, and familiar.
- It must be robust and secure.
- It must be architecture-neutral and portable.
- It must execute with high performance.
- It must be interpreted, threaded, and dynamic. Nowadays Java is everywhere, from parking meters to smartphones with 3 billion devices in use.
Constant development of programming languages
With more and more demand, there is more advancement in technology and computer programming runs behind the scenes. Modern programming languages most often have roots in their older predecessors and they make modern day programmer’s work simpler. Programming is necessary for business, medicine, transportation - it is ever present. Diarmuid Pigott created a genealogy tree for programming languages involving 8945 programming languages from the 18th century to the present and can be found here. The growing need for technology will remain an important part of a modern life.
Bibliography _________________________
- “A History of Computer Programming Languages” https://cs.brown.edu/~adf/programming_languages.html. Cited November 07, 2020
- “A History of Computer Programming Languages” https://www.onlinecollegeplan.com/computer-programming-languages/. Cited November 07, 2020
- “History of programming languages” https://en.wikipedia.org/wiki/History_of_programming_languages. Cited November 07, 2020
- “A Brief History of the Computer (b.c. – 1993a.d.)” https://www.jeremymeyers.com/comp. Cited November 07, 2020
- “Online Historical Encyclopaedia of Programming Languages” https://hopl.info/. Cited November 07, 2020
- “The History of Programming Languages Infographic” https://www.veracode.com/blog/2013/04/the-history-of-programming-languages-infographic. Cited November 07, 2020