Linguistics is the scientific study of language. Linguists look at the cognitive, social, cultural, psychological, environmental, biological, literary, grammatical, and structural aspects of a language to understand the history and usage of a language. Although a lot of this study is theoretical, it also includes the descriptive study of how a language is used and how it fulfills the communication needs of the people using it. This study has been historically focused on the written and spoken words of a language. I propose that linguistics include programming and software languages as well.

Software LanguagesThe history of computer programming languages does not nearly cover the historic timeline that more traditional languages have spanned. It might surprise you to learn that computer programming languages were first developed in 1883. In that year Ada Lovelace and Charles Babbage worked together on the Analytical Engine which was a very primitive mechanical computer. Lovelace determined that numbers could be used beyond just counting to provide a way for the Analytical Engine to do higher level mathematics to compute Bernoulli numbers.

More traditional programming languages came about in the mid-20th century. In 1949 assembly language was used to simplify interacting with computers by making it easier by simplifying the use of machine code. In 1952 Alick Glennie developed Autocode which is recognized as one of the first compiled computer programming language. This was an important breakthrough as now programs could be written in an easier to use construct that would be translated into machine code that the computer could understand.

A major breakthrough occurred in 1957 when John Backus created FORTRAN which was developed to assist in working with scientific, mathematical, and statistical projects. FORTRAN would play an important part in the calculations necessary for manned space flight. A year later Algol was created as an algorithmic language which paved the way for more advanced programming languages such as Java and C. This was followed in 1959 when COBOL was created by Dr. Grace Murray Hopper. COBOL was developed to operate on all types of computers ushering in the era of cross-platform usability. That same year John McCarthy created LISP which incredibly is still used today. LISP was designed for use in artificial intelligence research and in today's environment can be used with Python and Ruby.

One of the more important breakthroughs occurred in 1964 when the BASIC programming language was created for students who did not have a strong background in technology and math. BASIC would allow non-technical users to interact with computers. In the beginning of the Personal Computer era, it was BASIC that was used most often to teach programming. When our small school began to offer computer programming classes, BASIC was the recommended prerequisite before moving on to more advanced languages. I had planned to take a BASIC programming class but unfortunately it was full. Since I had set my heart on learning software development I took the only class that still had openings, Advanced COBOL. Not exactly the introduction I would recommend but it seemed to work out.

Niklaus Wirth developed Pascal in 1970 naming it after Blaise Pascal. This was an easy to use programming language that would become very popular. You may not know but it was Pascal that was the engine behind the Apple Lisa subsequently the Apple Macintosh. All of the ROM routines that handled the look and feel of the graphical user interface was written in Pascal. The year 1972 saw major enhancements in computer programming languages. Alan Kay, Adele Goldberg, and Dan Ingalls developed Smalltalk which allowed code to be changed quickly. Dennis Ritchie developed the C programming language that year which has become known as the first high-level programming language meaning it is closer to human language than machine code. Donald D. Chamberlin and Raymond F. Boyce developed SQL while working at IBM. This language which is used for viewing and changing data in databases is still used today.

In 1983 Bjarne Stroustrup created C++ which is an extension and derivative of the C programming language adding object orientation to the already robust C language. It is now the most widely used programming language in the world. Perl was developed by Larry Wall in 1987 as a scripting language where the primary use was for editing text and creating reports for processing. In 1991 Guido Van Rossum developed Python which began an effort to create a more simplified programming language that focused on code easier to read by the programmers. That same year Microsoft introduced Visual Basic which enabled programmers to select and change large chunks of code with an easier to use drag-and-drop paradigm.

The year 1995 was another big year in the evolution of programming languages. Sun Microsystems developed Java which was initially intended to be used with hand-held devices. Rasmus Lerdorf developed PHP which was created for web development (this web site is based on PHP showing it is still popular today). Brendan Eich developed JavaScript that year to enhance web browser interactions.

Programming languages continue to come out every year. It seems like I receive notifications of new languages weekly. Many of these are developed to fulfill a specific niche in the marketplace. The exception to that occurred in 2014 when Apple introduced Swift to replace C, C++, and Objective-C when programming for iOS and MacOS. Swift was expanded in 2019 with SwiftUI that provided a more robust framework for developers.

Early on if you had an interest you could learn all of the various programming languages but with the proliferation and sheer number of languages that have now come about that is impossible if you want to do justice for any of them. Still I find it interesting to go back to some of the old programming languages to understand how we interacted with computers in the early days of computing. I will continue to learn new languages or revisit old ones. If you would like to talk about programming or have a suggestion of a new language I should try, please feel free to contact me.

 

softwarelanguagesfooter

Site Evolution

This web site has gone through several metamorphoses. It began quite simply with just a static page but soon additional pages and content were added turning it into a web site rather than a web page. As the number of pages increased so did the time it took to maintain this site.

Photos of Interest