OMG, PHP is Losing to Ruby, Python?

Sorry for the hyperbolic headline, that’s just to get your attention. Now that I have you here, lets have a serious discussion.

The TIOBE Index was just updated with the February programming language rankings, and the PHP community seems to be a mild panic about dropping two spots in the rankings (from 3rd to 5th) and now falling behind Python (4th) on the list. The Python and Ruby camps are pretty happy with their results, and many seem vindicated as the results seem to have only amplified the PHP bashing out there.

Being the contrarian that I am, I could not just take the TIOBE results at face value.  Sure it shows PHP search traffic decreasing relative to the other terms, but what are we actually measuring here.

Are we measuring the installed base? Are we measuring the number of programmers/users?  Are we measuring the number of applications?  The answers are no, no and no.  TIOBE measures search engine traffic, period.  TIOBE’s methodology is limited to the volume of searches for $language . “programming”.  For example, they would have pulled search volume for “Java programming”, “PHP programming”, “Ruby programming” and so on.

To be sure, this approach is consistent across the languages, but there’s a significant amount of measurement error here if our goal is to determine the popularity of each language.

I went to Google Trends to look at search results of PHP against Ruby and Python, and yes indeed there is an alarming drop in PHP search volume going back to 2004 (see below).  However, the Ruby and Python search volume is by comparison nearly off the chart scale except for the blips in the last few months for Ruby.  We’ll have to wait and see if the Ruby spike is a trend or an anomoly, but looking at the historical data we can say the observable trend is zero growth in Ruby or PHP “popularity” as measured by TIOBE’s methodology.

Google Trends_ php, python, ruby

Search volume for PHP, Python and Ruby Since 2004

This observation doesn’t change the alarming drop in PHP search volume, but what good is this metric in a vacuum?  The following chart shows search volume for Java, C++ and PHP respectively.  Notice a trend?

Google Trends_ java, php, c++

Search volume for Java, C++ and PHP since 2004

All three of these languages are experiencing significant drops in search volume since 2004 (that’s as far back as Google Trends goes).  In fact, Java’s decline looks to be twice as bad as PHP’s.  Where are the Java developers jumping out of windows?  Does this mean each of these languages is fatally flawed and on its way out to be replaced by up and comers like Ruby and Python.  Of course not.  There’s a correlation among the drops in these three languages, and I would hypothesize that there’s an external variable that is depressing search volume here.  The alternative explanation is that Java, C++ and PHP are each, by coincidence, experiencing major drops in popularity.  I think that’s a far less likely possibility.

I would also wager that in the case of PHP, the proliferation of frameworks mean fewer people are searching Google for “PHP.” Instead, we are all busy searching for “Cake PHP”, “Symfony” or “Zend Framework”.  Google Trends shows fairly low search volume for these three terms, so this is not an answer, but it could be a small contributing factor.

The real question is what’s going on with search in general?  Is overall search traffic down this much?  Surely not.  Are people getting their programming language knowledge in other ways?

Ultimately I am reassured as a PHP developer that although something is going on out there, its not hitting just us.  Further, PHP is still in the top 5 on the TIOBE index, and its pretty rare company up there with three of the five being older, more established “enterprise” scale/desktop languages.  We’ll have to watch the TIOBE index over the next few months to see if the Python spike is a trend or a blip, so I’m not going to spend a lot of time worrying about it right now.

As technology professionals we can’t be afraid of change, so if there is a death knell sounding for PHP, we have to be able to accept it and move on. Having said that, there’s no bell tolling yet… I just don’t see it.  PHP’s only recently begun to see serious enterprise adoption, and the trend is accelerating, not decelerating.  Even if PHP wasn’t cool anymore it would be a decade before all this enterprise adoption was undone in favor of other platforms.

I’m all ears if you have any explanations, and please try to back up with data if you can find it.

Update: Kevin Schroeder has now weighed in on this as well.