UCOSP

Undergraduate Capstone Open Source Projects

What’s Popular Depends How You Ask

Posted by Greg Wilson on 2009/09/09

An ex-student of mine is trying to decide what web technology to use in the project he’s about to start working on.  The three choices are Java plus some kind of framework, Django and Python (which he knows very well), or Ruby on Rails (which he doesn’t, but could pick up quickly).  The argument in favor of Java plus whatever is that his employer is sure to be able to hire good Java programmers at a reasonable price for the next decade, but as he points out, doing small or medium-sized project in Java takes longer and hurts more than doing it in a dynamic language like Python or Ruby.

But what about Django vs. Rails? Is one more widely used than the other?  That’s usually a pretty good guide to how easy it will be to hire programmers who already know it [1], and how quickly libraries or adapters for [name of next year’s hot new technology goes here] appear for it.

In the past, I’ve relied on book sales, or even just the number of books on a topic, to tell me how much programmers care about something. My ex-student tried something else: a Google Trends query comparing “django” with “ruby rails”:

first

I was very surprised: my impression had been that Ruby on Rails was much more widely used than Django. But then I looked at the query itself a little more closely, and decided to try two others. The first compares “rails” to “django”:

second

That’s a very different answer, but looking at the results, it’s also untrustworthy, since “rails” includes web traffic about trains. How about trying “ruby rails” vs. “python django”:

third

Which is the “right” answer? I have no idea. The last one corresponds most closely with my preconceptions, but I’ve been bitten enough times to recognize confirmation bias when I commit it🙂. Rails Pub Night in Toronto draws ten to twenty times as many people as meetings of the Toronto Python Users’ Group, but again, that’s not necessarily an indication of who’s using Django.

What else would you try to figure it out?

[1] Yes, a good programmer can learn a new language in a couple of weeks, but mastering a web framework and the dozens of modules needed to build an industrial-grade app takes a lot longer—it’s like the difference between being able to ask where the bathroom is and being able to discuss literature.

One Response to “What’s Popular Depends How You Ask”

  1. Eric Burnett said

    One idea would be to examine keywords found in job postings, as Rob Diana did recently on Regular Geek: Web 2.0 Programming Language Job Trends. Looking at the graph for Django and Rails (with Python and Ruby thrown in for comparison), it would seem that Rails is a much stronger buzzword within hiring circles. It is also interesting to note how strong Rails is within Ruby, in comparison to the strength of Django within Python. I doubt this is representative of the industry as a whole, but it does provide one more piece of evidence that Ruby is more popular at present.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

 
%d bloggers like this: