Programming Languages: Everyone Has a Favorite
Since this site is about code talk, let's talk code. That's "talk", not "TAWK." TAWK, short for "Tiny AWK", is a little interpreted language Dr. Dobb's published years ago that is vaguely reminiscent of the "awk" pattern-matching language. TAWK, which is written in C++, demonstrates one of the thornier problems in computer science -- parsing and executing a programming language. But I digress....
What brings this code talk to a boil is something I recently wrote entitled Does Geography Really Matter Anymore?, which really didn't have anything to do with source code, but everything to do with getting me in hot water (but what's new about that, eh?).
In particular, I referred to the Tiobe Index which recently declared Python as "the programming language of the year" thanks to a 2.04 percent jump in popularity (whatever that means). Now that didn't get me in trouble, but what followed did: I quote Tiobe as as saying C and C++ were losing popularity. As you might expect it didn't take long to hear contrary views. As one reader asked:
What does Tiobe measure? Buzz (including arguably spamming and search engine manipulation). I realize you repeatedly said "popularity," so I know you know that, but the flavor of the editorial still conveyed the sense of "what languages are being used" rather than "what languages have buzz," for example that you agree Tiobe data supports us now considering Python the de facto glue language. Never mind that it's not clear Tiobe even measures buzz accurately (e.g., do they really only search for the string " programming" with a few exceptions/groupings? I sure hope it's not that simplistic).
The reader went on to say that in the real world C++ has been gaining steam across the industry over the last few years, and accelerating in the past 12-18 months, adding that:
I realize it's hard to measure actual use/adoption, and that it would be nice to measure that. But I'm concerned that presenting "buzz" numbers (questionably collected at that) as declaring de facto winners etc. isn't really accurate and actually harmful. I do realize that you repeatedly used the word "popularity" which is a word that correctly characterizes what Tiobe tries to measure, but I fear that the way that word was used was as (or will be widely read as) a synonym for "how popular it is in real-world project use" rather than "how much it's being discussed at the water cooler... " or, perhaps better still, "a flawed attempt to measure how much it's being discussed that claims to actually measure "engineers, courses, and vendors".
Python and C/C++ aside, I went on to say that the folks at Tiobe spotted a couple of interesting trends. Scripting languages are becoming more popular, with Ruby and Lua leading the way, although Groovy and Factor are coming on strong. As for languages to keep your eyes on in the coming months, watch ActionScript and Groovy.
Proving once again that I know how to lean into a left hook, I invited Tiobe's Paul Jansen to answer a few questions -- mainly about how the index is computed and what's the take-away -- in the upcoming May 2008 issue of Dr. Dobb's Journal. That article will be available in a couple of weeks.
But enough of me, Paul Jansen, and other readers. What do you think? What languages are you using? What languages are you plan on using? Take a few minutes and let's TAWK about it.