导读:原文作者Mike Hendrickson发表的一篇《2010 State of the Computer Book Market, Post 4 - The Languages》,文中对各种编程语言的盘点进行分析。现将李松峰翻译文章《2010年美国计算机图书市场报告四:编程语言》转载。内容如下:
这是《2010年计算机图书市场报告》的第四部分,我们来看一看编程语言市场,对各种编程语言作一备盘点。
与2009年相比,2010年编程语言市场总体下滑,幅度为-6.27%。从销售总量看,2009年图书共售出6,303,125册,而2010年共售出5,931,452册,减少了371,673册。其中,Java语言类图书销量增长最多,2010年比2009年多售出28,633册,而PHP语言类图书销量降低最多,比上一年减少了38,614册。
在盘点各种语言之前,有必要先明确一下“语言维度”这个概念。语言维度是我们对语言类图书进行分类的一个标准,这个标准就是看图书中的代码示例是使用什么语言编写的。比如,Flash Programming with Java这本书,它的基本分类是Flash,但按语言维度分,则属于Java类。同样,Head First Design Patterns中的示例是用Java写的,因此按语言维度分,这本书也属于Java类。
综合来看,2009和2010年编程语言类图书的市场表现是最糟糕的。下面这张图中不包括谈方法论的、项目管理的、消费者操作系统的,以及其他不涉及具体语言的图书。因此,我们现在对编程语言类图书的分析,与本报告第一部分的总体评价出发点是不一样的。这张图显示的是以周为单位的所有语言类图书的市场表现情况,其中2009年和2010年与其他年份比,依旧是最差的。
2008年,我们在报告中分析C#超过Java成为了最热门的语言。但时隔不久,Java图书就在2009年发力反弹,终于在2010年王者归来,重新登上编程语言图书第一位的宝座。通过下面这张2010年最畅销语言的柱状图可以看出,Java在这些语言里遥遥领先,而Objective-C则迅速攀升至第三位,仅次于C#。
2010年市场份额
再看看下面这张图,哪些语言的图书对2004年至2010年的码洋贡献最大可以一目了然。比较新的语言,或者说“时尚”的语言,由于时间太短,它们市场表现如何一时可能还看不出来。这张表基本上根据这些语言在相应时间段内的实际销量绘制的。其中,前10位的图书7年总共销售7,655,365册,后10位的图书7年总共销售1,919,691册。从份额来看,前10位大约占80%。从这些语言7年来的趋势看,C#在2009年之前一直是稳步增长的,Java则正好相反,2009年之前它的市场表现是越来越差的。2009到2010年,除了Java、VBA、VBScript、SAS、JavaScript、C++和C呈现上升态势,其他13门语言的销量都减少了。
编程语言类图书市场表现的Treemap
在上面这张Treemp图中,我们对比的是2010年第四季度和2009年第四季度,两年的同期相比,可以看到不少亮绿色区域、几块深绿色区域,黑色及红色区域也占相当面积。Objective-C之所以会下降12%,因为它在2009年的表现实在太好,很难维持。但由于它的在图中面积很可观,结果就让这张图显得有些压抑了。
深入数据分析之前,我们先了解一下这些语言的总体情况。首先,对它们进行了分组,分组依据是它们在2004-2010年间的总销量。通过下面这张表就可以看出来,只有Mid-Majo组的销量在2010年是增长的,其他组的销量都在减少。而Mid-Major组中销售增长幅度最大的是R。有意思的是,像R这样的统计分析语言基本上都在增长(和Strata大会的结论类似)。实际上,R、SAS、Matlab、Labview、Mathematica以及SPSS这些语言加在一起,总共增长了49,504册,增幅达到了102.87%。也许是因为Hal Varian关于统计将成为“最有前途的工作”的论调,刺激了开发人员都去学习这些语言。
Group | Unit Range | Y2010 Units | Y2009 Units | Y2010 # | Y2009 # | 10MketShar | 9MketShar |
Large | 50,000 — 200,000 | 1,051,945 | 1,069,762 | 1,590 | 1,433 | 75. 96% | 75. 00% |
Major | 10,000 — 49,000 | 227,306 | 254,587 | 450 | 456 | 16. 41% | 17. 85% |
Mid-Major | 3,000 — 9,999 | 53,152 | 44,909 | 104 | 85 | 3. 84% | 3. 15% |
Mid-Minor | 1,682 — 2,999 | 20,818 | 20,965 | 61 | 58 | 1. 50% | 1. 47% |
Minor | 1,000 — 1,680 | 13,000 | 15,517 | 46 | 31 | 0. 94% | 1. 09% |
Linelist | 399 — 999 | 6,299 | 6,350 | 25 | 19 | 0. 45% | 0. 45% |
TheRest | < 399 | 3,370 | 6,368 | 49 | 43 | 0. 24% | 0. 45% |
为了以分组方式更清楚地展示这些信息,我们使用了这些表头对这些语言进行了分类。
*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. 2010 Units | 3. 2009 Units | 4. 2010 Titles | 5. 2009 Titles | 6. 10Mkt Share | 7. 09Mkt Share |
1.语言的名字或简写形式
2.2010销售量
3.2009销售量
4.2010年Bookscan监控销量前3000名中的品种数
5.2009年Bookscan监控销量前3000名中的品种数
6.2010年市场份额
7.2009年市场份额
下面这个表展示的是Large语言组的数据。排名前10位的语言中,在Java止跌回涨的带领下,有5种在2010年是增长的。本报告前几部分也介绍过,Java语言类图书的销量一直在持续减少,到2009年甚至延续到2010年都是如此。难道是Android开发为Java的复活注射了强心剂?而Objective-C虽然在2010年销量减少,但依旧跻身前10之列。此前Objective-C的排名差不多是在第20位左右。JavaScript保持了稳步增长态势,作为Web编程中最常用也是最重要的一门语言,它的地位如今已经不可动摇了。
Large组的编程语言(2010年销量在50,000-195,000之间)
*Large* | U N I T S | T I T L E S | M A R K E T S H A R E | |||
Language | 2010 Units | 2009 Units | 2010 Titles | 2009 Titles | 10Mkt Share | 09Mkt Share |
Java | 194,520 | 165,887 | 361 | 332 | 13. 90% | 11. 54% |
C# | 153,469 | 156,043 | 263 | 230 | 10. 97% | 10. 86% |
Objective C | 136,711 | 141,608 | 89 | 51 | 9. 77% | 9. 85% |
JavaScript | 131,850 | 115,107 | 169 | 157 | 9. 42% | 8. 01% |
PHP | 106,952 | 145,566 | 163 | 152 | 7. 64% | 10. 13% |
C/C++ | 94,268 | 93,067 | 192 | 184 | 6. 74% | 6. 48% |
VBA | 61,108 | 48,507 | 68 | 58 | 4. 37% | 3. 38% |
ActionScript | 60,578 | 83,017 | 96 | 85 | 4. 33% | 5. 78% |
Python | 58,905 | 60,700 | 94 | 84 | 4. 21% | 4. 22% |
SQL | 53,584 | 60,260 | 95 | 100 | 3. 83% | 4. 19% |
下面这个表里列出Large组语言中卖得最好的几本书。而且,不管从销量看,还是从码洋看,这几本书的排名都是相同的,只不过按码洋排名,WordPress第5的位置会被Addison-Wesley的PHP and MySQL Web Development取代。
O’Reilly | Learning PHP, MySQL, and JavaScript, First Edition |
O’Reilly | Head First Java, Second Edition |
Wrox | Professional Android 2 Application Development |
Addison-Wesley | Programming in Objective-C 2.0 |
Dummies | WordPress for Dummies (covers PHP) |
在Major语言组中,C、Powershell、ShellScript和VBScript都在增长。总体来看,这些语言的图书2010年比2009年少销售27,000册,相当于Major组语言总体减少量的12%。
Major组的编程语言(2010年销量在10,000-49,999之间)
*Major* | U N I T S | T I T L E S | M A R K E T S H A R E | |||
Language | 2010 Units | 2009 Units | 2010 Titles | 2009 Titles | 10Mkt Share | 09Mkt Share |
.NET Languages | 44,958 | 57,286 | 82 | 78 | 3. 25% | 4. 02% |
Visual Basic | 42,225 | 55,574 | 88 | 94 | 3. 05% | 3. 90% |
C | 36,638 | 34,820 | 91 | 83 | 2. 65% | 2. 44% |
Ruby | 20,004 | 29,977 | 48 | 63 | 1. 44% | 2. 10% |
Powershell | 18,652 | 12,124 | 26 | 19 | 1. 35% | 0. 85% |
Transact SQL | 17,507 | 17,601 | 28 | 29 | 1. 26% | 1. 23% |
Perl | 15,606 | 20,030 | 32 | 34 | 1. 13% | 1. 40% |
Pl/Sql | 10,670 | 10,974 | 24 | 26 | 0. 77% | 0. 77% |
Shell Script | 10,720 | 7,482 | 20 | 17 | 0. 77% | 0. 52% |
VBScript | 10,326 | 8,719 | 11 | 13 | 0. 74% | 0. 61% |
以下是Major组语言中销量前5名的图书。
Prentice Hall | C Programming Language |
Prentice Hall | Practical Guide to Linux Commands, Editors, and Shell Programming |
O’Reilly | Learning Perl, 5th Edition |
Morgan Kaufman | Programming Massively Parallel Processors: A Hands-on Approach (C language) |
Pragmatic | Agile Web Development with Rails, Third Edition |
Mid-Major组的编程语言(2010年销量在3,000-9,999之间)
在这个组中,统计分析语言的表现非常出色。如前所述,这些语言2010年比2009年增长了102.87%。其中,最为突出的是以R in a Nutshell为首的8本R语言图书。
*Mid-Major* | U N I T S | T I T L E S | M A R K E T S H A R E | |||
Language | 2010 Units | 2009 Units | 2010 Titles | 2009 Titles | 10Mkt Share | 09Mkt Share |
SAS | 9,035 | 7,974 | 27 | 21 | 0. 65% | 0. 56% |
SPSS | 8,973 | 6,818 | 16 | 10 | 0. 65% | 0. 48% |
MatLab | 7,857 | 6,752 | 22 | 17 | 0. 57% | 0. 47% |
R | 7,800 | 2,817 | 15 | 12 | 0. 56% | 0. 20% |
Processing | 6,996 | 6,038 | 8 | 6 | .51% | .42% |
Shell Script | 6,073 | 7,116 | 19 | 16 | .44% | .50% |
Basic | 5,540 | 5,277 | 7 | 9 | .40% | .37% |
Lua | 4,677 | 5,570 | 7 | 6 | .34% | .39% |
Assembly | 4,391 | 4,359 | 18 | 14 | .32% | .31% |
MDX | 3,890 | 4,838 | 8 | 8 | 0. 28% | 0. 34% |
UnrealScript | 3,028 | 2,440 | 3 | 3 | .22% | .17% |
Mid-Major组销量前5名如下。
Mid-Minor组的编程语言(2010年销量在1,682-2,999之间)
函数式编程语言是这个组中的亮点,比如F#、Scals和Lisp等。函数式编程语言类图书的年增长率达到了喜人的51.38%,2010年共销售了7,648册,而2009年这个数字只有3,718册。
*Mid-Minor* | U N I T S | T I T L E S | M A R K E T S H A R E | |||
Language | 2010 Units | 2009 Units | 2010 Titles | 2009 Titles | 10Mkt Share | 09Mkt Share |
F# | 2,905 | 1,095 | 6 | 5 | 0. 21% | 0. 08% |
Scala | 2,531 | 3,946 | 5 | 5 | 0. 18% | 0. 28% |
Groovy | 2,452 | 3,972 | 7 | 8 | 0. 18% | 0. 28% |
Alice | 2,441 | 2,472 | 10 | 9 | 0. 18% | 0. 17% |
Blitzmax | 1,836 | 2,603 | 2 | 2 | 0. 13% | 0. 18% |
AppleScript | 1,787 | 3,994 | 4 | 6 | 0. 13% | 0. 28% |
VHDL | 1,785 | 1,733 | 18 | 15 | 0. 13% | 0. 12% |
Bash | 1,715 | 183 | 2 | 1 | 0. 12% | 0. 01% |
Lisp | 1,684 | 309 | 4 | 6 | 0. 12% | 0. 02% |
LabView | 1,682 | 658 | 3 | 1 | 0. 12% | 0. 05% |
Mid-Minor组中销量前5名如下。
Prentice-Hall | Learning To Program with Alice |
Artima | Programming in Scala: A Comprehensive Step-by-step Guide |
No Starch Press | Land of Lisp: Learn to Program in Lisp, One Game at a Time! |
Prentice-Hall | LabVIEW 2009 Student Edition |
Manning | Real World Functional Programming: With Examples in F# and C# |
Minor组的编程语言(2010年销量在1,000-1,680之间)
这个组10门语言中有6种在2010年的销量减少了。总体来看,销量比上一年下降了约20%。其中,最吸引眼球的是Mathematica,很大程度归功于Mathematica Cookbook这本书。与Mid-Minor组一样,这个组仍然是函数式编程语言的主战场,但它们在这个组里表现平平。
*Minor* | U N I T S | T I T L E S | M A R K E T S H A R E | |||
Language | 2010 Units | 2009 Units | 2010 Titles | 2009 Titles | 10Mkt Share | 09Mkt Share |
Mathematica | 1,675 | 900 | 9 | 4 | 0. 12% | 0. 06% |
Erlang | 1,513 | 2,276 | 3 | 2 | 0. 11% | 0. 16% |
Scheme | 1,479 | 1,364 | 8 | 7 | 0. 11% | 0. 10% |
FBML | 1,367 | 2,335 | 5 | 4 | 0. 10% | 0. 16% |
Clojure | 1,332 | 1,460 | 2 | 1 | 0. 10% | 0. 10% |
AWK | 1,200 | 1,642 | 2 | 2 | 0. 09% | 0. 12% |
Nxt-g | 1,172 | 969 | 4 | 1 | 0. 08% | 0. 07% |
Scratch | 1,112 | 674 | 2 | 2 | 0. 08% | 0. 05% |
Latex | 1,099 | 1,623 | 6 | 5 | 0. 08% | 0. 11% |
Haskell | 1,051 | 2,274 | 5 | 3 | 0. 08% | 0. 16% |
Minor组语言中销售排名前5的图书如下。
O’Reilly | Mathematica Cookbook |
O’Reilly | ERLANG Programming |
O’Reilly | Real World Haskell |
Pragmatic | Programming Clojure |
O’Reilly | sed & awk |
Linelist 组的编程语言(2010年销量在399-999之间)
虽然销售总量很少,但这个组里的10门语言中仍然有6门在2010年实现了增长。这个组的年销售下降幅度大约为-0.81%。后面并没有列出畅销书的名录,因为这个组整体都还谈不上畅销。
TheRest组的编程语言(2010年销量少于400)
最后是2010年销量低于400册的语言。这些语言按降序排列如下:autolisp、unity、x++、cfml、inform、mysql spl、blitz3d、q、nxt、gml、pure data、javafx、rpg、cobol、nxc、minitab、ml、boo、ada、fortran、octave、jcl、racket、jsl、idl、cfscript、abap、verilog、m、smalltalk、mumps、go、windows script、egl、c/al、realbasic、bondi、cl、cs2、eiffel、ocaml、xquery。
原文链接:2010 State of the Computer Book Market, Post 4 - The Languages