State of the Computer Book Market 2008, part 4 — The Languages

In this fourth post (parts one, two and three are found here) on the State of the Computer Book Market, we will look at programming languages and drill in a little on each language area.

Overall the market for programming languages was down 5.9% in 2008 when compared with 2007. There were 1,849,974 units sold in 2007 versus 1,740,808 units sold in 2008, which is a decrease of 109,166  units. So the unhealthy 8% loss in the Overall Computer Book Market was not completely fueled by programming-oriented books.

Before we begin to drill in on the languages, we thought it would be best to explain our “language dimension.” When we group books by their language dimension, we categorize them by the language used in their code examples. So Flash Programming with Java would be in our Flash atomic category, but the language dimension would be Java. Similarly, our Head First Design Patterns book contains all examples written in Java, so it too carries the “java” tag on the language dimension.   

A Treemap view of the Programming Languages

TM_qtr_py_Prog_Lang.jpg

In the above treemap view, you’ll notice a couple of bright green areas — namely Objective-C and ActionScript. PHP and C# are dark green and show a nice growth when compared to the rest of the larger languages in the fourth quarter of 2007. Unfortunately what this does not show is a visual reference for how the size of the box changes over time. We reported last year that Ruby had grown nicely, had passed Perl and Python, and was knocking on the door for Visual Basic’s spot. However, Ruby had the largest decrease in unit sales in 2008. Of the large languages, the following show a healthy growth trend in 2008: C# with 17,397 more units, PHP with 10,896 more units, ActionScript with 23,881 more units, and Python with 11,517 more units.

Last year we reported that C# should surpass Java as the number one language this year.” C# is now the largest programming language for all book sales, and that was the case for all of 2008.

If you look at the five-year trend for the languages shown below, you can see that C# has been steadily growing year after year while Java has been going in the opposite direction during the same period. PHP, ActionScript and Python are the other languages going in a positive direction. Ruby, Java, and C++ had the biggest declines in unit sales during 2008, and Ruby dropped out of the top 10 languages.

2008 Market Share


Computer Book Sales 2008 - All Languages 5yrs

Before we dive in, let’s look at the high-level picture for the grouping of languages. As you can see in the table below, the Major and Immaterial languages experienced growth in 2008 while the rest experienced a decline. The languages driving the growth in the Immaterial category are Alice, Haskell and F#. Titles in this category will be moving up as functional languages continue to take off. In the Major group it was Objective-C and Python that carried the group to a positive number compared to 2007.

Category Category Unit Range 2008 Units 2007 Units Growth
Large 100,000 – 275,000 1,075,317 1,173,444 -98,127
Major 28,000 – 99,999 508,431 441,739 66,692
Minor 5,000 – 27,999 114,397 152,890 -38,493
Low-Volume 2,000 – 4,999 32,679 77,482 -44,803
Immaterial 1,000 – 1,999 9,950 4,392 5,558
LineList Less than 1k 5,245 5,482 -237

For the sake of grouping and presenting this information in a more readable format, we have classified the categories for the languages in this way with the following headers:

*Large* U N I T S T I T L E S M A R K E T S H A R E
1. Language 2. 2008
Units
3. 2007
Units
4. 2008
Titles
5. 2007
Titles
6. 08Mkt
Share
7. 07Mkt
Share
  1. Name or short name of the language
  2. Units sold in 2008
  3. Units sold in 2007
  4. Number of Titles making Bookscan 3000 in 2008
  5. Number of Titles making Bookscan 3000 in 2007
  6. 2008 Market Share
  7. 2007 Market Share

The following table contains data for the Large languages. As you can see, C#, PHP and ActionScript were the only languages experiencing growth. It is interesting to note that last year we reported that PHP was surprisingly down, yet it rebounded in 2008 and showed a nice 1% market share growth. ActionScript joined the large languages up from the Major language group. The .NET Languages dropped out of the Large category and is now in the Major language group. JavaScript lost ground despite seeing more titles make the top 3000. Those JavaScript titles sold fewer units per book.

Large Programming Languages — >100,000 – 275,000 units in 2008

*Large* U N I T S T I T L E S M A R K E T S H A R E
Language 2008
Units
2007
Units
2008
Titles
2007
Titles
08Mkt
Share
07Mkt
Share
C# 271,938 232,102 223 178 15.58% 13.60%
Java 211,009 241,628 316 306 12.09% 13.60%
PHP 173,214 158,538 129 103 9.93% 8.86%
JavaScript 172,667 203,225 142 117 9.89% 10.91%
C/C++ 145,926 167,344 220 238 8.36% 9.24%
ActionScript 100,563 85,971 66 41 5.76% 4.84%

Here are the top titles for the Large languages, and incidentally, the titles and order are the same whether you look at Units sold or Dollars generated:

Apress Pro C# 2008 and the .NET 3.5 Platform
Sams Sams Teach Yourself PHP, MySQL and Apache All in One
Friends of Ed The Essential Guide to Dreamweaver CS3 with CSS, Ajax, and PHP
O’Reilly Head First Design Patterns
Peachpit PHP 6 and MySQL 5 for Dynamic Web Sites: Visual QuickPro Guide

You’ll notice in the Mid-Major languages that Python and Objective-C are the two languages that are showing growth when you compare 2008 and 2007. Objective-C has one of the largest market share growths for all languages. It seems as though developers really want to build iPhone and Mac applications — not sure what else this growth could be attributed to.

Major Programming Languages — 28,000 – 99,999 units in 2008

*Major* U N I T S T I T L E S M A R K E T S H A R E
Language 2008
Units
2007
Units
2008
Titles
2007
Titles
08Mkt
Share
07Mkt
Share
.NET Languages 94,169 107,077 89 89 5.40% 6.10%
SQL 79,722 89,289 84 82 4.57% 5.03%
Visual Basic 72,491 99,964 152 127 5.04% 5.67%
Ruby 61,171 95,731 69 40 3.51% 5.39%
Python 59,530 46,028 53 41 3.41% 2.63%
VBA 55,559 67,097 60 61 3.18% 3.78%
Objective-C 44,616 5,509 20 9 2.56% 0.47%
Perl 28,585 37,984 41 43 1.64% 2.14%

Here are the top titles for the Major languages.

Wrox Professional ASP.NET 3.5: In C# and VB
Addison Wesley Cocoa
O’Reilly Learning Python
Pragmatic Agile Web Development with Rails
Sams Sams Teach Yourself SQL in 10 Minutes
Wrox Beginning ASP.NET 3.5: In C# and VB

Minor Programming Languages — 5,000 – 27,999 units in 2008

So the news in this category is that Lua, Processing and C had the largest growth in units, 7 out of 12 languages in the category experienced unit growth. It is interesting to see Lua come out of nowhere and sell a bunch of units. Lua got a boost from the World of Warcraft title below that teaches some introductory Lua and uses the language in its examples.

*Minor* U N I T S T I T L E S M A R K E T S H A R E
Language 2008
Units
2007
Units
2008
Titles
2007
Titles
08Mkt
Share
07Mkt
Share
Transact-SQL 16,511 21,341 21 16 .95% 1.20%
Powershell 12,836 13,961 16 9 .79% .74%
Lua 11,155 2,367 6 3 .64% .13%
C 10,760 4,854 29 15 .62% .27%
Shell Script 10,113 11,479 17 12 .58% .65%
VBScript 9,497 18,167 14 16 .54% 1.03%
Processing 8,740 1,991 4 3 .50% .11%
PL/SQL 8,296 7,295 23 18 .48% .41%
BASIC 7,420 9,374 8 8 .43% .55%
MATLAB 6,937 4,602 18 15 .40% .26%
SAS 6,851 6,298 17 18 .39% .35%
Groovy 5,281 3,733 7 3 .30% .21%

Here are the top titles for the Minor languages.

Wiley World of Warcraft Programming: A Guide and Reference for Creating WoW Addons
Dummies Beginning Programming For Dummies
O’Reilly Visualizing Data: Exploring and Explaining Data with the Processing Environment
MIT Press Processing: A Programming Handbook for Visual Designers and Artists
O’Reilly Classic Shell Scripting

Low-Volume Languages — 2,000 – 4,999 units in 2008

The news in this category is that 9 out of 12 languages showed growth in 2008 when compared to 2007. Autolisp and FBML led the pack, but were closely followed by Linden-script and Alice. MDX, AppleScript and LaTeX are the only three languages in this grouping that sold fewer units in 2008 than in 2007.

*Low-Volume* U N I T S T I T L E S M A R K E T S H A R E
Language 2008
Units
2007
Units
2008
Titles
2007
Titles
08Mkt
Share
07Mkt
Share
Assembly 4,474 3,762 12 13 .26% .21%
Linden script 4,368 2,830 5 3 .25% .16%
MEL 3,181 2,386 6 4 .18% .13%
Erlang 2,622 2,617 1 1 .15% .15%
NXT-G 2,575 1,659 1 1 .15% .09%
AutoLISP 2,478 0 7 5 .14% 0%
FBML 2,363 0 5 0 .14% 0%
MDX 2,244 2,743 4 3 .13% .15%
AppleScript 2,206 3,012 6 6 .13% .17%
LaTeX 2,077 2,718 5 6 .12% .17%
Alice 2,007 751 8 6 .11% .04%

Here are the top titles for the Low-Volume languages.

Pragmatic Programming Erlang: Software for a Concurrent World
Apress LEGO MINDSTORMS NXT-G Programming Guide
Wiley AutoCAD 2009 & AutoCAD LT 2009 Bible
Sybex Stop Staring: Facial Modeling and Animation Done Right
Sybex Creating Your World: The Official Guide to Advanced Content Creation for Second Life

Immaterial Programming Languages — 1,000 – 1,999 units in 2008

The following languages all sold between 1 and 999 units in Q1 ’07. These are what I am considering the Immaterial programming languages. It should be noted that in 2009, our Real World Haskell book as already sold as much as the whole Haskell market did in 2008. The noticeable trend with the Immaterial languages is large growth of F# and NXT.

*Immaterial* U N I T S T I T L E S M A R K E T S H A R E
Language 2008
Units
2007
Units
2008
Titles
2007
Titles
08Mkt
Share
07Mkt
Share
AWK 1,971 2,572 2 2 .11% .14%
F# 1,763 698 3 2 .10% .04%
Haskell 1,491 1,268 4 4 .09% .07%
Scheme 1,349 1,271 7 7 .08% .07%
R 1,194 823 3 7 .07% .05%
Tcl 1,180 1,588 4 5 .07% .09%
NXT 1,002 0 1 0 .06% 0%

Here are the top titles for the Immaterial languages.

O’Reilly sed & awk
Apress Expert F#
Prentice Hall Practical Programming in Tcl and Tk
Apress Creating Cool MINDSTORMS NXT Robots
MIT Press The Little Schemer

LineList Programming Languages — < 1,000 units in 2008

Lastly, the following languages sold fewer than 1,000 units in 2008. Here is the list in alpha order: abap, ada, awd, blitzmax, cl, cobol, cs2, d, delphi, directx, dsl, e, eiffel, fortran, haxe, idl, javafx, jcl, kml, labview, lingo, lisp, m, maxscript, ml, mumps, mysql spl, natural, ocaml, octave, oopic, opl, pascal, pda languages, peoplecode, phrogram, pl/1, qbasic, realbasic, rexx, rpg, s, scratch, smalltalk, spark, sql server, squeak, unknown, unrealscript, windows script, and x++.

So this concludes the Languages view of the State of the Computer Book Market. I hope you enjoyed it. Pay attention to this space, as I will be publishing this information twice a year. Now that we have all the queries, spreadsheets, pivot-tables and systems down, we should be able to update these posts much more easily going forward. If you have anything you would like explored a bit more thoroughly, please leave a comment here and we will see what we can do.

tags: ,

Get the O’Reilly Programming Newsletter

Get weekly insight from industry insiders—plus exclusive content, offers, and more on the topic of software engineering.