Google Search Trends for Scripting Languages

I was poking around on Google earlier and ended up on their search trends page. One of the examples they provided was to compare the searches for the four major script languages, Perl, PHP, Ruby and Python so I decided to see what the data was like for that.

There are no major surprises, sadly, but as you might expect PHP has more searches, but the most noticeable issue after this is that searches for all four languages have decreased since 2004 when the data was first collected.

The trends for dynamic languages

In looking at this data I wondered if there what the reasoning was behind it. Of course it should be noted from the start that the data presented here is not the result of an unbiased scientific poll, but simply a number from Google. For all we know these numbers have these values because of something wacky like Python devs only use Yahoo! So what follows is not a general information, it is simply speculation because I was curious if the general trend was downward for all four of these dynamic languages because less people are using scripting languages, or, as seems more likely, that they already know where to go to find information about them without searching through Google.

Obviously there must be a mix of both as in that time Java has improved and C#/.NET have become more popular. However it was in that same time period that a lot of Perl 6’s work has become available, that PHP moved to v5, and Ruby hit the headlines with Rails. It seems highly unlikely that all three of these events, which spawned books, and conferences and the like, didn’t do anything to boost interest in the corresponding language. I added all three of these examples to the list to compare and it seems that the only language to have had any real sustaining power is “C#” which has pretty much flat-lined since 2005. (You can test for yourself)

Google does explain that these numbers are “normalized” to a value between 0-100 rather than being the search numbers, but they don’t explain how that occurs. If this is as a portion of all searches then that clearly explains the trends. You could similarly argue that programmers have places to go for their languages which requires less searching on Google and it seems fair to speculate that programmers are also searching less because these languages are all matured and come with better documentation and thus there’s less trying to find help on how to program in them. This would further agree with Google’s own description of how they normalize the data and the general trend of Google being used for more than geek searches.

Comparing trends for the core script languages

So whether or not this explains the decreases directly, it seems reasonable to assume that the data is comparable. If so then at first glance we are surely seeing  that PHP is “the best”, because people search for it more. Right? Well that’s one interpretation, but remember we’re looking at search numbers here and in that case do more searches really mean that the language is better? It could because it could mean more new users looking for information. But it might be that while there is appeal/interest/intrigue those who try the language find that it isn’t appropriate for them/their work, and so leaving for other languages.

The trend we see here doesn’t match that pattern exactly as I’d expect a sharper drop off, but its fair to say that percentagewise PHP has dropped more than any other language. A quick test from the highest value in the first month of the 2004 period to Oct 2008 shows that PHP dropped 50%, Perl 25% while Python and Ruby remain pretty much flat.

Does this suggest that while PHP is often looked at, there is a trend away from both PHP and Perl towards “newer” (“cooler”?) languages like Python and Ruby? Certainly Ruby has been getting a lot more attention with Rails and these trends show a distinct uptick around march in 2005. According to Wikipedia this would be the month following the opening of Rails to other developers. Consistent releases and updates appear to have helped maintain an interest in Ruby.

Similarly so with Python where newer versions and its popular tie-in to Django, etc., appear to have allowed it to maintain a small but steady “market share” over the same period. Indeed the downward trending of PHP and Perl could be an indication that we are losing developers to Python and Ruby. If this is the case, rather than people just not needing to search for them any more then it would appear that not only is PHP also considered to be “old”, as is often said of Perl, but that it is losing developers much more rapidly.

Influencing the “trends”

As one piece of evidence that this information from Google is easily influenced I noticed that if you zoom into the last month’s data then there appears to be a sudden upswing for Perl. What’s this? Is Perl suddenly cool and popular again?

Sadly, it doesn’t appear so because if you concentrate only on Perl and look at the most popular searches you start seeing queries for variations of the term “X-Perl”. X-Perl? You might ask. What is this? Is it some new Perl-GUI binding? Perl on MacOS X? Is it a new uberfast matrix inspired Perl platform with flashing lights and bells and whistles… ?

No, its none of these things. The “superman” in this case is a new UI for World of Warcraft called X-Perl. And it appears that because people can’t be bothered to type hyphens they’re searching for the term “x perl” and Google is notching up a point for “Perl”… Oops :-)

This is meant as a suggestion as to what this data could mean. It is by no means scientific and I know that.

Colin.

Advertisements

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: