Channels ▼

Jonathan Erickson

Dr. Dobb's Bloggers

Programming Languages: Everyone Has a Favorite

March 13, 2008

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.


Related Reading

More Insights

Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.