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.

delicious | digg | reddit | facebook | technorati | stumbleupon | chatintamil

12 thoughts on “OMG, PHP is Losing to Ruby, Python?

  1. I dont’t know the tiobe index is really a reliable source to monitor the usage of a language. The other question is do you want to know which is the most used language for websites and web apps or for software of whatever type.

    There are several other sources that indicate that php is doing very well lately:

    Online Employment Report from Elance:


    W3Techs Usage of server-side programming languages for websites report:

  2. Also bear in mind that anyone searching for PHP is pretty much guaranteed to be looking for the programming language, whereas the terms “Ruby” and “Python” could mean a LOT of different things, and not neccessarily the programming language.

  3. That’s “symfony”. Also people google now for WordPress, Drupal, etc. The PHP community got itself more niched since 2004.

  4. Good catch Mhitza, I didn’t realize I had Symfony spelled wrong. I’ll make the correction 🙂

    You’re very right, so few people are searching for PHP now in a global sense, specialization in PHP has been huge the past 5 years.

  5. I don’t take it that way.
    1. Tiobe index is bullshit same for Google trend. It is just search stats and who turn really always on google for search. We are not in 2006, we use social media and I use a lot twitter and wajam to search for information. I use google only if my social network doesn’t give me satisfaction.

    I look at which language is in demand : but
    2. I don,t care if Java is at 25 %, PHP 7.5% , Python 6% or Ruby 2.5% of the open jobs.
    I look where the job market goes.
    What I saw for two years is: (% new jobs) – Java is declining slowly (28% to 25%) , PHP is topping (7.2% to 7,5%), python is thriving (4% to 6%) and Ruby is accelerating (1.5% to 2.5%).

    And if you look at startup Python and Ruby take a huge part of the new jobs. So I would not go to Java or PHP because there is a big base of programmer for their actual good standing but without progression, I would go for Python or Ruby because of their standing is in progression and the number of programmer in those languages is low for the augmentation of use.

  6. I find Python to be better investment to learn than PHP.

    It is used in far more areas than PHP, like system scripting (it is installed by default on most Unixes), prototype coding – many frameworks have nice Python bindings, you can easily write your program in Py just for proof of concept…
    For example currently I am trying to write small game for a mobile and the 2D framework already has Python binding…

  7. Pingback: DB Optimizer » Popularity vs Performance vs Productivity

  8. Pingback: Kyle Hailey » Popularity vs Productivity vs Performance

Leave a Reply

Your email address will not be published. Required fields are marked *