The Programmer’s Tower of Babel

8-Tour_de_BabelThere are hundreds of programming languages, most of which you and I have never heard of. Why are there so many? One reason may be that it’s fun to develop your own language. Who doesn’t have a set of secret code words they use with a few special friends? Some of you may have developed an entire language of words you use with just your closest friends or family. Lewis Carroll’s classic poem “Jabberwocky” seems merely to have been an opportunity for him to use his own special made-up language. And who can forget that “Charlie the Unicorn” episode with the magical poisonous Foogoo fish? Foogoo? Really?

We humans love to make up words. Remember George W. Bush? Some of you voted for him. Twice. My point exactly.

So why not make up entire programming languages? Sure, most of them are hardly used by anyone. Today’s most popular programming languages are the venerable C++, the verbose but ubiquitous Java, the hodgepodgey but empowering JavaScript (or Ecmascript, if you want to be precise about it but sound uber-nerdy at the same time), the we-copied-Java-but-are-quite-a-bit-better C#, the easy-but-sophisticated VB.net, the much-maligned-but-Klump-favorite PHP, the superfluous Ruby and its framework-of-exaggerated-virtue Rails, and the really-close-to-new-Klump-favorite Python. And then there are the other languages, the ones a few members of elite circles use and commiserate about at online geek revelries, but that almost nobody uses.

I had to use one of those languages nobody uses, Delphi, for a long time. Actually, I should take that back. Delphi is a great language in the same way that Pascal is a great language: it is extremely readable, well-organized, and flexible. However, it seems that the only people who use it are those named Dmitri, Vladimir, Marco, or Sven. When I worked fulltime for a software development firm that had written all its code in Delphi because its founder was a Pascal phenom, it was so difficult to find answers to problems we’d experience in writing our code. Most of the discussion posts and newsgroups were written in an Eastern European language, and so it was impossible for us to get help. No matter how good a language may be in its design or functionality, if there isn’t a dependable, worldwide group of users who can support it and provide fellow programmers advice and answers, it won’t be long for this world.

That’s enough editorializing on my part. My primary reason for this post is to present a very entertaining demonstration of writing the classic “Hello World” program in 300 different programming languages. Some of the solutions involve a single line of code. These are what I’d call elegant, because my definition of elegance, like that of most other programmers I know, is that it can accomplish a lot with very little code. Others require an unbelievable amount of code to accomplish this simple task of greeting the world. These are like the pastor of my church, who needs 20 minutes to tell me Jesus loves me. They are not elegant; they’re verbose and hard to follow and very inefficient in accomplishing their task.

Come to think of it, that might not be too unlike some of my blog posts. Self-deprecation can be elegant, too, particularly if I can mock myself in just a few words. As GWB would say, “mission accomplished.”

 

About Ray Klump

Professor and chair of Mathematics and Computer Science Director, Master of Science in Information Security Lewis University http://online.lewisu.edu/ms-information-security.asp, http://online.lewisu.edu/resource/engineering-technology/articles.asp, http://cs.lewisu.edu. You can find him on Google+.

Leave a Reply

Your email address will not be published. Required fields are marked *

Powered by sweet Captcha