There is a veritable alphabet soup of the starting letters of names of programming languages. The author sifts through this assortment to find the most significant programming language to represent each letter of the alphabet.
Very often, we restrict our discussions on programming languages to popular ones like Python, C, C++, Java, etc. We fail to acknowledge that there are literally thousands of programming languages out there. In this article, I try to highlight the abundance of options by listing them alphabetically. So we are going to have, ‘A for Ada, B for BASIC …’ and so on. While choosing a particular programming language, I have considered the factors of popularity, the existence of an open source compiler and historical significance. Remember that any tool that is Turing complete can be called a programming language, thus making even C++ Templates and C Preprocessor programming languages, broadly speaking.
A for Ada
For the first letter of the alphabet I have ALGOL, AWK, AppleScript and Ada as contenders. ALGOL is one of the earliest programming languages but it no longer is widely used professionally, while AppleScript is solely used with macOS. AWK is a text processing language which is losing its war with Perl, another text processing language.
Ada is a programming language that supports both imperative and object-oriented programming paradigms, with safety and security as the main concerns. GNAT is an open source compiler for Ada which is part of the GNU Compiler Collections (GCC). Ada has the support of a small but stable developer community. The programming language Ada is named after Ada Lovelace, the daughter of Lord Byron (famous English poet). Ada Lovelace is considered a pioneer in computer programming for her work with Charles Babbage while trying to develop his unfinished yet famous Analytical Engine. Even though I have selected Ada, do remember that assembly languages are very important in programming but it is not single programming language; rather, they are a family of programming languages.
B for BASIC
There are programming languages called B and BCPL which influenced the development of the C programming language, which makes them rather important. But for the letter B, I chose BASIC (Beginner’s All-purpose Symbolic Instruction Code). BASIC has influenced a lot of other programming languages like Visual Basic, VB.NET, etc. But the single largest contribution of BASIC is that for the first time people with no scientific background could start to program, by using it.
C for C
This is one letter where the number of influential programming languages is very high. There are programming languages like C++, C#, Clojure, COBOL, etc. But here the choice is obvious – it is none other than C, which was originally developed in 1972 by Dennis Ritchie at Bell Labs. Even after almost 50 years of existence, C is still widely used professionally as well as in academia. So, justifying the choice of C is unnecessary.
D for Dart
There is a programming language called D, heavily influenced by C++. But my choice is Dart, an open source, object-oriented programming language developed by Google, and released under the BSD license. Dart was featured as a promising programming language in an article in Open Source For You. Please visit https://opensourceforu.com/2019/03/yet-another-top-ten-list-of-popular-programming-languages/.
E for Erlang
Erlang is an open source programming language developed by Ericsson and is licensed under the Apache license 2.0. Erlang is a functional programming language. There are also other options like Eiffel and Elixir. Eiffel is an objected-oriented programming language, whereas Elixir is a functional programming language heavily influenced by Erlang itself. Since Erlang has recent stable releases, I have chosen it over Elixir. As an aside, there is an open source programming language called Ezhil, which uses the Tamil script for writing programs.
F for Fortran
There are programming languages called F, F#, FoxPro, etc, but Fortran is my choice for representing the letter F. It is the oldest programming language chosen in this article, yet it has had a stable release in the past one year. Fortran was originally used for scientific and numeric computing. GFortran is the Fortran compiler provided by GCC, making Fortran a truly open source programming language.
G for Go
Go (also called Golang) is developed by Google. It is a popular programming language that features in the top ten list of many rankings. Go is similar to C, but with added features for security and garbage collection. Go has multiple open source compilers with BSD licences. There is no other programming language starting with the letter G worth mentioning other than Groovy, which is an object-oriented programming language heavily influenced by Java.
H for Haskell
Haskell is a functional programming language that was developed in 1990. The Glasgow Haskell Compiler (GHC) is a popular open source compiler for Haskell released under the New BSD licence. Haskell figures relatively high in many rankings. The Hindawi Programming System is a collection of open source programming languages that use Hindi, Bengali and Gujarati scripts for writing programs.
I for Icon
There are hardly any significant programming languages starting with this letter. I have chosen Icon, a dynamic programming language influenced by SNOBOL, which is much older. But so far, this is the only letter in our programming languages alphabet the removal of which will not affect the programming world much.
J for Java
K for Kotlin
Kotlin is a relatively new programming language. Its development started in 2011 but it is gaining popularity. Kotlin is a statically typed programming language that runs over the Java virtual machine, and is widely used for Android app development. Kotlin is released under the Apache licence. Since Korn shell is Turing complete, it is worth an honourable mention.
L for Lisp
An electrical engineer might have chosen LabVIEW, a system-design platform and development environment, for the letter L. But I think Lisp, being the original functional programming language, should represent the letter L. Lisp is one of the oldest surviving high level programming languages. But do remember that it is not a single programming language; instead, there are a number of dialects like Clojure, Racket, Scheme, etc, for Lisp. Lua, a multi-paradigm programming language, is also worth mentioning here.
M for MATLAB
The letter M is for Maple, Magma, MATLAB, Maxima and Mathematica — the programming languages and mathematical software used to support serious mathematics rather than, say, finding the sum of two small integers and displaying the result on a Web page. Even though Maxima is open source software, I have chosen MATLAB, a proprietary commercial software. I believe the widespread use of MATLAB justifies its selection. M is also the letter that reminds us about machine languages and all the pioneers who wrote programs on punched cards.
N for NASM
N is another letter in this sequence whose removal will not affect the programming community much. Netwide Assembler (NASM), an assembler and disassembler for the Intel x86 architecture, is my choice here. NASM is Turing complete; hence, it can be considered a programming language. It is released under the BSD licence.
O for Objective-C
Objective-C is an object-oriented programming language that has compilers implemented by both Clang and GCC. It is included as one of the Top Ten programming languages in the Open Source For You article mentioned earlier. Objective-C is supported by Apple for the development of macOS and iOS applications. Ocaml, a multi-paradigm programming language, and Octave, a programming language for numerical computations, are two runners-up for representing the letter O.
P for Python
P is another rich letter in our programming languages alphabet but yet again, the choice was simple — it is none other than Python. Python is an interpreted general-purpose programming language. In this era of artificial intelligence and machine learning, Python is the golden child in the family of programming languages. Applications in a wide variety of fields make Python absolutely important. But in this category, there are also other important programming languages worth mentioning. Pascal is an important procedural programming language developed in 1970. Perl is a general-purpose, interpreted, dynamic programming language often used for text processing. PHP is a general-purpose programming language most often used for Web development, while Prolog, a logic programming language associated with AI, is also worth mentioning.
Q for Q#
The choice for the letter Q is Q#, a programming language released by Microsoft for developing quantum algorithms. Q# is the newest programming language included in our list, with the first release coming in December 2017. It is influenced by both C# and F#. Recently, we have heard that Google achieved quantum supremacy and hence will make quantum computers a reality in the near future, hopefully. So, it is possible that Q# or similar programming languages will play a pivotal role in the programming world in the not-so-distant future. The other two programming languages in this category worth mentioning are QtScript and QBasic.
R for R
Choosing the language for the alphabet ‘R’ was also relatively easy. R is yet another Top Ten ranked programming language that features in almost all rankings. R is a programming language and free software environment for statistical computing. Since Big Data and data mining are very popular nowadays, the popularity of R seems to be rising. Ruby, an interpreted general-purpose programming language, and Rust, a multi-paradigm system programming language, are also worth mentioning in this category.
S for Swift
S is another rich letter in the programming languages alphabet but here again the choice was simple; it is Swift. To my surprise I found out that there is also a parallel scripting language called Swift but the one I’m referring to is a general-purpose, multi-paradigm, programming language developed by Apple Inc. This, too, is ranked among the Top Ten in most rankings. Currently, Swift is released under Apache License 2.0 making it an open source programming language. There are a number of other programming languages in this category that are worth mentioning. Scala is a general-purpose functional programming language. Scilab is a numerical computational package and numerical programming language. Scratch is a visual programming language for teaching children programming. SQL (Structured Query Language) is a programming language used for relational database management. Simula and Smalltalk may not be relevant today but they have influenced the development of programming languages like C++, Java, etc.
T for TypeScript
U for Umple
This letter too doesn’t have much to offer. But for the sake of completion, Umple represents the letter U in our alphabet. Umple is an object-oriented programming language used for modelling with class diagrams and state diagrams. It was first released in 2008, with the latest stable release in 2018. But do remember that the UNIX shell being Turing complete qualifies as a programming language.
V for Verilog
Consider any decent programming language that has some followers and prefix the term with the word ‘visual’ and you will get a new programming language! I am not joking – we have Visual Basic, Visual Basic.NET, Visual C++, Visual FoxPro, and many more as proof. In spite of this vast choice, I prefer VHDL (Very High Speed Integrated Circuit Hardware Description Language) or Verilog, both hardware description languages. My description of hardware, often limited to the price, made the choice very difficult. A cursory glance over a few articles made me believe that Verilog leads the race between the two marginally and hence the choice. But I will be very happy to switch sides if somebody could convince me why VHDL is better than Verilog.
W for Wolfram Language
Wolfram language is yet another proprietary commercial programming language in our list. But I believe I am justified in my choice because the other programming languages in this category have hardly made any impact in the programming world. Wolfram Language is a multi-paradigm programming language developed by Wolfram Research, and is the programming language of the mathematical symbolic computation program Mathematica.
X for XOTcl
My ns-2 (network simulator-2) simulation days made me choose XOTcl from an otherwise insignificant list of programming languages. XOTcl is an object-oriented extension for the Tool Command Language (Tcl). XOTcl is used for topology generation in ns-2.
Y for Yorick
Y is the least promising letter in our programming languages alphabet. Yoix, a dynamic programming language and Yorick, an interpreted programming language designed for numeric and scientific computing, are the only contenders in this category. I have chosen Yorick over Yoix because its latest stable release was four years ago, compared to seven years for Yorick.
Z for Zsh
Z is another letter with no significant programming languages in the list. But since any tool that is Turing complete qualifies as a programming language, I am nominating Z Shell (Zsh). Z shell is an interactive login shell and a command interpreter for UNIX shell scripting. In the latest major release for Apple Macintosh computers, macOS Catalina has Zsh as the shell instead of Bash.
The selection of a particular programming language is based a lot on personal preferences of the author but efforts have been made to mention all the significant programming languages. To my knowledge there are programming languages named B, C, D, E, F, J, K, P, Q, R, S and T but many of them are old or obscure with no practical use. I will be happy if somebody could point out the programming languages I may have missed in this list. Careful analysis tells us that C, J, M, P, R and S are the most important letters in our programming languages alphabet. As a fun fact, there are programming languages named after animals (Pig, Python and Cobra), places (Java), famous people (Ada, Babbage, Bertrand, Orwell and Pascal), things (Boomerang, Dart and Ruby), etc. But apart from all this fun, our programming languages alphabet clearly tells us that the options are unlimited when it comes to building applications and a career.
The author has nearly 15 years of programming experience. He currently works as assistant professor in Amal Jyothi College of Engineering, Kerala. He maintains a technical blog at www.computingforbeginners.blogspot.in. He can be reached at firstname.lastname@example.org.