2011年美國計算機圖書市場報告四:程式語言

李鬆峰發表於2012-06-27

Source:State of the Computer Book Market, part 4: The Languages
by Mike Hendrickson | @mikehatora | +Mike Hendrickson@李鬆峰

在2011年美國計算機圖書市場報告的第四部分(參見第一部分第二部分第三部分),我們分析一下程式語言,以及每種語言的情況。

總體而言,程式語言圖書市場2011年比2010年有1.15%的小幅上揚。從監控銷量來看,2011年賣出 6,435,247 本,2010年賣出 6,361,178 本,多了 74,069 本。Java 還是最大的語言,增長率達到了 13.46%,銷量增加 33,930 本。另一個極端是PHP,降幅最大,達到22.50%,2011年銷量比2010年少 26,994 本。

在分析具體語言之前,我想有必要解釋一下我們的“語言維度”。我們在把某本書歸類為某種語言時,依據是書中程式碼示例使用的語言。因此,Flash Programming with Java 基本類別是Flash,但按照語言維度,它是Java書。類似地,Head First Design Patterns 這本書中的示例是用Java寫的,因此它的語言維度也是Java。

總體來看,2010年和2011年對技術出版而言只能說好壞參半。什麼意思呢,就是說技術出版領域既有讓人高興的事兒,也同樣存在一些絕對不容樂觀的地方。下面這個折線圖並不包括那些講方法的、講專案管理的、講作業系統使用的書,甚至都不包括那些不針對特定語言的書。因此,這一部分的視角與本報告第一部分的整體視角不一樣。這幅圖每週一個資料點,顯示出與第一部分總體市場走勢極其相似的態勢。換句話說,這幅語言類圖書的走勢圖,表明2011年的語言市場同樣也像雲霄飛車一樣大起大落。

enter image description here

大圖

無論從監控銷量,還是從銷售收入看,Java依舊是大哥大。語言的熱門程度也有一定的變化。JavaScript現在炙手可熱,跟R一樣。可能是Android和大資料讓人們開始關注它們。Java圖書2011年的增長率是13.46%,銷量增加 33,930 本。JavaScript的增長率是Java的兩倍,達到了27.18%,2011年新增銷量 61,758 本。2011年,PHP和C++的名次互換,PHP圖書在2011年賣出了126,994本,下降為第6名,而C++依靠多賣出的19,207本上升為第5名。只有三種語言沿續了2010年的名次:Java第1名、Objective-C第4名、Python第8名。從下面2010-2011最熱門20種語言的條形圖可以看出,Java處於領導地位,JavaScript正迅速趕上。

2010-2011年最熱門20種語言(大圖

enter image description here

看看下面這張圖,你就會知道從2004年到2011年,哪些語言的書賣得最多了。這張圖基本上彙總了每門語言歷年的資料。8年裡,排名前十的語言總銷量為 10,283,109 本,排名後十的語言總銷量為 2,910,636 本。排名前十的語言大約佔到了72%的份額。面對這麼多語言,我在想:誰能續寫Java在本世紀最初幾年的輝煌呢?

enter image description here大圖

程式語言的TreeMap(大圖

enter image description here

以上TreeMap比較了2011年與2010年最後一個季度的資料。你會發現綠色、紅色和黑色區域相對均衡。這表明,程式語言類圖書2011年最後一個季度的表現,與2010年最後一個季度的表現大致相同。另外,快速增長的最明亮的綠色,都集中在了右下角,面積也不大。這反映了2011年第四季度一些小語言的增長情況。

繼續分析之前,先給語言分一下組,分組依據是2004-2011年的銷量。看下面這張表格吧,Large和Major組的語言全部增長,而Mid-Major及以下組則全部下挫。儘管Mid-Major及以下組的銷量比上一年減少了 15,120 本,但專注語言的書在2010年之前仍然銷售了 74,688 本。

enter image description here

為了以分組方式更清楚地展示這些資訊,我們使用了這些表頭對這些語言進行了分類。

Large...

  • 語言:語言名稱或簡寫形式

銷量

  • 2010銷量:2010年銷售本數
  • 2011銷量:2011年銷售本數

品種

  • 2010品種:2010年進入Bookscan Top 3000的品種數
  • 2011品種:2011年進入Bookscan Top 3000的品種數

市場份額

  • 2010份額:2010年市場份額
  • 2011份額:2011年市場份額

下面這張表格顯示的是Large組語言的資料。從表中可以看出,2011年這11種語言中有6種語言增長,JavaScript增幅最大,而Java也在持續增長。Objective-C已經連續兩年走低,但似乎已開始趨於平穩。C++未來走勢如何?為什麼它還在增長?是什麼在推動著C++的增長?

Large組(50,000-200,000)

enter image description here

Large組語言中的暢銷書如下:

  1. Head First Java, Second Edition (O'Reilly)
  2. Learning PHP, MySQL, and JavaScript, First Edition (O'Reilly)
  3. Android Application Development For Dummies (Dummies)
  4. Beginning iPhone 4 Development: Exploring the iOS SDK (APress)
  5. JavaScript: The Good Parts (O'Reilly)

下面來看Major組,其中Ruby增長最多。從銷量看,R超過了Perl。Perl曾經是規模最大的語言,但如今只能排到第19位。PowerShell在2011年再次增長。

Major組(10,000-49,999)

enter image description here

Major組語言中的暢銷書如下:

  1. The C Programming Language (Prentice Hall)
  2. Practical Guide to Linux Commands, Editors, and Shell Programming (Prentice Hall)
  3. SQL For Dummies (Dummies)
  4. The Little SAS Book: A Primer, Fourth Edition (SAS Publishing)
  5. SQL Pocket Guide (O'Reilly)

Mid-Major組(3,000-9,999)

這一組11種語言中有3種在2011年增長,但整個組下降約18.35%。下降的主要原因是R和SAS進入了前一組。

enter image description here

Mid-Major組語言中的暢銷書如下:

  1. Beginning Programming For Dummies (Dummies)
  2. Microsoft Visual Basic 2010 Step by Step (Microsoft Press)
  3. Sams Teach Yourself Visual Basic 2010 in 24 Hours Complete Starter Kit (Sams)
  4. Getting Started with MATLAB: A Quick Introduction for Scientists and Engineers (Oxford University Press)
  5. SPSS For Dummies (Dummies)

Mid-Minor(1,600-2,999)

這一組增長的基本上都是函式式語言,像Scheme、Scala、Haskell、Alice和Lisp。這組語言在2010年足足增長了51.38%,而在2011年也增長了11.17%。

enter image description here

Mid-Minor組語言中的暢銷書如下:

  1. Programming in Scala: A Comprehensive Step-by-step Guide (Artima)
  2. bash Pocket Reference (O'Reilly)
  3. Land of Lisp: Learn to Program in Lisp, One Game at a Time! (No Starch Press)
  4. Learn You a Haskell for Great Good!: A Beginner's Guide (No Starch Press)
  5. Mastering Unreal Technology, Volume I: Introduction to Level Design with Unreal Engine 3 (Sams)

Minor組(1,000-1,599)

2011年,這一組7種語言中有7種的銷量增長了,而整個組也大約有1.91%的增長。勢頭最猛的是Puppet和Stata。即使這個組裡每種語言只有一本書,也很難說這些印刷品是否賺錢,因為有個規模經濟的問題。如果把紙質書和電子書結合起來,達不到經濟規模的書還是有希望盈利的。但在我看來,銷量低於這個數的書不會給出版商或作者帶來什麼經濟回報,沒準人家出版是出於其他目的。

enter image description here

Minor組語言中的暢銷書如下:

  1. A Gentle Introduction to Stata, Third Edition (Stata Press)
  2. Pro Puppet (Apress)
  3. The Joy of Clojure: Thinking the Clojure Way (Manning)
  4. Scratch Programming for Teens (Course Technology)
  5. Hands-On Introduction to LabVIEW for Scientists and Engineers (Oxford University Press)

Linelist組(100-999)

這個組的28種語言有12種在2011年有所增長,但銷量實在微不足道。不過,這個組整體的年度銷量下降很多,降幅達到了46.96%。不管怎麼說,這個組都沒有什麼暢銷書,所以乾脆不列了。下面是銷量在100到1000本之間的語言,由多到少排序:

  1. d
  2. erlang
  3. opencl c
  4. applescript
  5. mathematica
  6. latex
  7. tcl
  8. jscript
  9. minitab
  10. apex
  11. autolisp
  12. pure data
  13. fbml
  14. hla
  15. peoplecode
  16. opengl shader
  17. spin
  18. fortran
  19. pig
  20. silverlight
  21. mel
  22. sparql
  23. kml
  24. linden script
  25. lingo
  26. coffeescript
  27. sml
  28. cobol

TheRest組(< 100)

最後,下列語言的圖書2011年銷量都沒超過100本。按銷量從多到少依次是:

  1. abap
  2. blitz3d
  3. octave
  4. nxt
  5. gml
  6. pascal
  7. prolog
  8. ml
  9. chef
  10. x++
  11. inform
  12. cfscript
  13. cfml
  14. racket
  15. boo
  16. jcl
  17. siebel escript
  18. idl
  19. javafx
  20. mvpl
  21. m
  22. verilog
  23. jsl
  24. nxc
  25. limbo
  26. mysql spl
  27. rexx
  28. rpg

還有,下列語言在2011年根本就沒有賣幾本,就按首字母排序吧:

  1. ada
  2. awd
  3. bondi
  4. c/al
  5. cachesql
  6. cl
  7. cs2
  8. delphi
  9. directx
  10. dsl
  11. e
  12. egl
  13. eiffel
  14. go
  15. haxe
  16. maxscript
  17. mumps
  18. natural
  19. ocaml
  20. oopic
  21. opl
  22. pda languages
  23. phrogram
  24. pl/1
  25. q
  26. qbasic
  27. realbasic
  28. s
  29. spark
  30. squeak
  31. windows script
  32. xquery

接下來,第五部分將分析數字銷售。

相關文章