Programming language trends: Flash up, AJAX down?

I’m fascinated by the O’Reilly reports on the state of the computer book market in 2008, particularly the one relating to programming languages.

Notable facts and speculations:

C# is the number one language, overtaking Java (which is down 12%), and was consistently so throughout 2008. Although the .NET platform is no longer new and exciting, I’m guessing this reflects Microsoft’s success in corporate development, plus the fact that the language is changing fast enough to stimulate book purchases. Absolute growth is small though: just 1%.

Objective-C is growing massively (965%). That’s probably stimulated by iPhone app development more than anything else. It’s a perfect topic for a programming book, since the platform is important and popular, and attracting developers who were previously ignorant of Objective-C.

ActionScript is growing (33%). That’s Adobe’s success in establishing Flex and the Flash platform.

PHP is up 3%. I’m not surprised; it’s usually the P in LAMP, everyone’s favourite free and open source web platform. That said, the online documentation and community support for PHP is so good that a book is less necessary than for some other languages.

JavaScript is down 24%. I’m a little surprised, as JavaScript is still a language everyone has to grapple with to some degree. It may be a stretch; but I wonder if this is a symptom of AJAX losing developer mindshare to Flash/Flex (ActionScript) and maybe Silverlight (C#)? Another factor is that JavaScript is not changing much; last year’s JavaScript book is still good enough.

Visual Basic is down 15%. Exactly what I would expect; slow-ish decline but still popular.

Ruby is down 51%. This is a surprise; though it was well up in 2007 so you could be kind and describe this as settling. The problem with Ruby though is lack of a major sponsor; plus the migration from PHP to Ruby that seemed possible a couple of years ago just has not happened. It may be intimidating to casual developers who find PHP more approachable; plus of course, Ruby probably is not installed on your low-cost shared web hosting package.

Python is down 14%. Google sponsors Python, in that it is the language of App Engine, but apparently this has not been enough to stimulate grown in book sales. I guess App Engine is still not mainstream; or maybe there just aren’t enough good Python books out there.*

It will be interesting to see the 2009 report in a year or so. Meanwhile, I’m off to write an Objective C tutorial (joke!).

*Update: I was reading the charts too quickly; it looks as if the percentages above are only for the last quarter; the annual figures are similar except that Python actually grew over the year as a whole.

5 thoughts on “Programming language trends: Flash up, AJAX down?”

  1. Definately interesting…

    I wonder if the Javascript drop reflects the use of JS libraries perhaps not covered in the books (such as jQuery)?

  2. Tim,

    I am very excited about C# growing in this market, but it is worth pointing out that the data from O’Reilly reflects book sales.

    The problem with the data is that it is the aggregate of other factors. One factor is the adoption of the language, and I think that it is easy to assume it is just this and move on.

    The adoption of the language is then compounded with the evolution of the language. Unlike Java that has seen very little evolution as a language on the last few years, C# had major upgrades at version 2.0, 3.0 and some milder ones for the upcoming 4.0.

  3. Python book sales 2007: 46,028 units
    Python book sales 2008: 59,530 units

    Uhm… how exactly is that down 14%? (From 2.63% market share up to 3.41%).

    🙂

    Michael

  4. Fair point Michael – I think it was just the last quarter where it was down 14% year on year (if I’m reading the chart right).

    Tim

  5. Hmm… I only saw the *chart* after I posted the comment, I looked at the figures first (I hate charts).

    I assume your reading is correct. This year there will be a great new Python book from Manning of course… (IronPython in Action) 😉

Comments are closed.