上月的文章发表后,我将它转贴到了我的博客上。有读者评论《.NET本质论》一书为什么没有提及。其实这本书我曾经考虑过,就深入理解.NET框架而言,这的确是一本很好的书,尤其适合对COM有一定理解的读者(书本身很大程度上是我几年前策划出版的《COM本质论》的延续),不过适用面不如Richter(市场已经证明了这一点
还有一位读者提到清华大学出版社的《C#高级编程》一书。写此文的时候它的2.0版本还没有出,所以没有入选。其实这本书原版在国外并不是毫无争议的佳作,当然,要比《C#入门经典》好一些。夸张一点说,这两本书的畅销,反而衬托出目前国内C#图书山中无老虎的现状。
今年国际IT书业中有一件引人注目的事情,那就是两大技术图书出版社O' Reilly Media和Apress的老板Tim O' Reilly与Gary Cornell之间在网上发生的激烈争执。事情还要从Tim O' Reilly的一篇文章说起。Tim O'Reilly使用数据库对Book Scan的销售数据进行分析,在博客中发表了与我的《图书:技术趋势晴雨表》相类似的系列文章,评述北美计算机图书市场的状况。不过,文中除了各技术领域图书的此消彼涨大趋势之外,还用品种效率的概念对各出版社的表现进行了品评。Apress被评价为虽然市场份额增长较快(已经超过Addison Wesley,成为仅次于O'Reilly的专业技术出版社),但主要是通过大量增加品种而取得的,效率低于平均。Tim还认为自己的假想敌并非Apress,而更可能是归入Wiley旗下管理加强后开始复苏的Wrox。这自然让Gary Cornell(他同时也是《CoreJava》等书的作者)颇感不爽。他除了在Tim的博客上回复之外,也在自己的博客中撰写了多篇文章,反驳Tim的说法。双方的分歧在于,Tim是用大平均数比较宏观地进行考察,自然不利于几乎完全面向计算机专业人员的Apress。本身是数学博士的Gary Cornell指出,Tim显然在哈佛读古典文学的时候没有学好数学,他的分析犯了统计学的大忌,是在用一个指标去衡量复杂的情况,所得的结论是肯定站不住脚的。他举出的数据,正是.NET市场中,Apress的图书《C#与.NET平台高级编程》(我们上月介绍过)和《ASP.NET2.0高级程序设计》(本月介绍)表现都超过了O'Reilly。
这期间Manning公司的营销总监Ron Tomich(他曾经担任O' Reilly亚太区总裁)也对此发表了意见,一方面说自己是学中文出身,数学也不好,实际上是回击Cornell的出身论,一方面表示认同单品种效率的有效性。这当然是因为Manning在这项指标表现较好,可以用作市场宣传素材的缘故。Cornell则反驳说,如果刨去《Ajax实战》这样的超级畅销书,Manning其他书的指标反而不如Apress,这正说明了该项指标的无效性。
客观地讲,从出版机构经营的角度,品种效率是有意义的。当然,如果能够尽量细分,将更加说明问题,能够表示某一领域中出版机构图书的总体表现。但这个指标对于Apress和Manning这样专注于缝隙(niche)市场的出版社是极为不利的。因为他们出版的不少图书受众绝对数就比较少,无法与入门图书相抗衡,过于强调这一点,他们当然无法接受。
这场争执中透露出一些深层次的信息。在专业技术图书市场,以Apress、Manning和Pragmatic为代表的新兴力量,正在对Addison Wesley、O' Reilly这样的老牌出版社发起强有力的冲击。前者基本上都是由成名的技术作者创办的,他们深深地植根于开发社区,对新技术更敏感,更敢于放手投入。Ajax和Rubyon Rails两大热点的争夺,可以说是前一集团取得了极大优势。O' Reilly由于产品线不断扩充:入门、数码设计、软件工程(他们从AddisonWesley挖来了名编辑Mike Hendrickson),越来越大众化,成功地弥补了一些传统领域优势的丧失。而Addison Wesley除了仍然在出版那种经典的著作之外,其他许多方面已经开始失色。但是,后起之秀们也有自己的烦恼,走专业路线,风险大,而收益却不可能期望太高。毕竟,像Ajax和Rubyon Rails这样成功的新点,可遇而不可求。所以Manning这样的独立出版社总也长不大。而有了Springer的支持,Apress渐渐羽翼丰满,可以在某些领域与老牌子一较短长了。
在.NET图书中,ASP.NET的书最为畅销,占据了一半以上的份额。我们本月将以此为主。最后推荐若干其他方面的好书。
ASP.NET
ASP.NET图书的选择方面,读者首先需要查看两点:一是版本,ASP技术的版本更新多次,从最初的ASP1、2、3到.ASP.NET1.0到1.1再到2.0,很容易使人混淆,目前许多名为ASP.NET2.0的图书实际上主要是基于1.1的,2.0与1.1有非常大的区别,加入了许多特性,所以版本区分非常关键;二是所用的语言,不少书使用VB.NET作为主要语言讲述,但是实际上目前使用C#的读者更多,选购前需要留意。
综合巨著
ASP.NET 2.0揭秘ASP.NET UnleashedStephen Walther著谭振林等译人民邮电出版社(即出)
在ASP.NET图书中,可以归入我们推荐的其他类别中泰山北斗级别的著作,应该只有本书。此书的上一版在各大网上书店非常火爆,china-pub.com的评论达到了161个,至今仍然在国内销售不衰,在频繁改版的.NET图书里,也算一个奇迹了。也难怪,作者Stephen Walther正是因为此书而扬名业界,荣膺微软“软件传奇人物”(Software Legend)和ASP.NET MVP称号。要知道,“软件传奇人物”可是微软对业界专家的最高荣誉,只颁发给JeffreyRichter、DavidPlatt这样的大师级人物。ASP.NET界还有两位“软件传奇人物”Alex Homer和Dave Sussman,他们合写的ASP著作在.NET前时代可是必读经典。顺便提及,人民邮电出版社将出版他们的新著《ASP.NET 2.0 Illustrated》,按Richard Stevens著作的传统,该译为《ASP.NET2.0详解》了,相信其中会有很多来自微软开发团队的技术内幕。
在撰写本文时,Walther的书在Amazon位列ASP.NET类图书第一。17名读者给出了全5星评价。而此前各版的总评论数更是达到了148名。本书成功的秘诀应该与《Java核心技术》类似,就是代码密集而且实用,紧贴实战。作者开发的许多程序,包括微软的示范应用ASP.NET Community Starter Kit、拍卖网站www.cityauction.com、在线大学Collegescape等等都是业界公认的经典,把这种实力放到书中,当然不同凡响。而且作者本身毕业于加州大学伯克利分校的艺术专业,并曾在MIT攻读过语言和哲学专业的博士,文字功底显然十分了得。这本书还有一个好处,就是同时提供C#和VB.NET代码(光盘中)。需要说明的是,这本书厚达1900多页,翻译工作量不小,希望身为微软MVP的译者们能够不辱使命。
与Walther巨著同一层级的,还有人民邮电出版社即将出版的由Matthew Mac Donald著的《ASP.NET 2.0高级编程》(Pro ASP.NET 2.0 in C# 2005)与清华大学出版社即将出版的多人编著的Wrox《Professional ASP.NET 2.0》的中文版,两本书无论名字还是内容、层次都针锋相对。由于出版较早,质量又不错,均使用C#代码,在Amazon上占尽先机,都已经重印多次,而且口碑不错。但是相比之下,就原版书的质量总体而言,Apress原版的前者更胜一筹,销售排名也更加靠前。我的一位从事ASP.NET编程的朋友道破了其中缘由:“(后者)一看就知道是许多人合作的书,比如第7章讲验证控件,而到第18章才讲安全,非常不合理。”当然,这两本书总的来说各有千秋,关键要看翻译质量了。它们应该是今年年底到明年年初值得期待的两本主流图书。
入门
ASP.NET 2.0 入门经典(第4版)Beginning ASP.NET 2.0Chris Hart,John Kauffman著张楚雄 高猛 译清华大学出版社
由于ASP.NET2.0的功能实在是太多了,即使入门书篇幅也普遍在600多页以上。有意思的是,这方面入门书并不多。目前国内市场上可以选择的可能只有本书了,有些差强人意。国外市场与之抗衡的是Apress的同名书,但是篇幅大得多。
清华大学出版社出版的由ASP.NET名家Dino Esposito所著《ASP.NET 2.0技术内幕》其实是一部很好的入门名著,原版评价非常不错,但是中文版好像毁于翻译之手了。Dino Esposito经常在各类技术杂志上发表文章,除本书外他还写了另一本书,讲述高级主题,所以本书译为“技术内幕”并不合适。
目前,国内销售较好的ASP.NET 2.0入门层次图书有人民邮电出版社出版郝刚编著的《ASP.NET 2.0开发指南》(书号711514766),有ASP.NET之父Scott Guthrie的推荐,我没有看过此书,网上对其内容和质量目前存在一定争议,读者自己判断。另外一本销售不错的是电子工业出版社出版的《ASP.NET开发实战详解:入门、模块、系统》(书号712102832),用VB.NET讲述,有网友反映该书实际上主要基于1.1,有误导读者之嫌。
中高级、经验
严格地说,前面所举的两本名为“高级编程”的书其实有些名不副实。ASP.NET似乎目前还没用积累到能够出版太多经验层次、中高级图书的地步。至少EffectiveASP.NET这样的题目还遥遥无期。
最优化ASP.NET――面向对象开发实践Maximizing ASP.NET: Real World, Object-Oriented DevelopmentJeffrey Putz著刘俊民 陈远 周勇 译电子工业出版社定价:39.00元
本书之所以能归入本类,主要还是没有其他现成的选择,实际上它的深度还不够,出版社的宣传稍微过了一些。它不是系统讲授ASP.NET,而是突出面向对象的概念,显然主要的读者对象是有传统ASP开发经验的人。不过,其中有些章节还是有价值的。
目前我所知道的将会出版的真正高级和深入层次的ASP.NET图书只有人民邮电出版社引进的《Essential ASP.NET 2.0》中文版,此书并非第一作者以前所写ASP.NET书的更新,而是比较接近Don Box著作的风格,揭示最困难和很少知道的技术内幕。
数据库编程ADO.NET 2.0高级编程Programming Microsoft ADO.NET 2.0 Applications: Advanced TopicsGLENNJ OHNSON段超 译清华大学出版社定价:46.00元
这方面的书非常少,讲述ASP.NET 2.0的似乎只有本书和本书的姊妹篇《ADO.NET 2.0技术内幕》,而后者翻译比较糟糕。还有一本清华大学出版社的《ASP.NET 2.0数据库入门经典(第4版)》实际上是根据预览版写的,而且原版就评价一般,请读者注意。。
Ajax
Atlas基础教程:ASP.NET Ajax快速开发Foundation of Atlas: Laurence Moroney 著陈黎夫 译人民邮电出版社定价:39.00元
Ajax的热力似乎持续不减。这不,本书正在网上热卖。不过,前不久Atlas已经有了正式的名称――ASP.NET Ajax,由三部分组成,而且刚刚发布的1.0Beta版与以前的社区预览版有很大差异,请读者在阅读此书时注意。译者是微软公司的开发人员,正在编写最新版本的图书,值得大家关注。
此外,本书作者、Walther和Esposito都在撰写相关著作,不过由于Beta版变化太大,估计出版计划都需要延迟了。Walther的书名字非常引人注目,翻译过来是“Atlas与ASP.NET页面之死”,其中包含的意思,读者自去体会好了。
VB.NET
Visual Basic目前还是以6.0为主流,由于VB.NET的跳跃太大,真正转移过来的程序员的比例不高。但是考虑到VB程序员的数量极为巨大,绝对数恐怕还是不少的。Visual Basic2005程序开发与界面设计秘诀章立民研究室机械工业出版社定价:79.00元
VB2005方面的书本来就少,台湾畅销作家章立民一出手,威力当然无敌。除本书外,尚有《Visual Basic 2005文件IO与数据存取秘诀》一书即出。两本书合起来就是《Visual Basic 2003~2005开发秘诀与范例大全》一书的更新版。章先生多年形成的写作风格比较独特,采用条款式将内容组织成100多个单元,自成一体而之间又有有机联系,共同组成一个系统,比较便于读者吸收。
Visual C++.NETVisual C++.NET 技术内幕(第6版)Programming with Microsoft Visual C++.NET, Sixth EditionGEORGE SHEPHERD, DAVID KRUGLINSKI潘爱民 译清华大学出版社定价:106.00元
真正意义上的Visual C++.NET图书似乎仍然只此一家而已,不过本书年代有些久远了。与其以前版本的威风八面,本书已经泯然众人矣。Visual C++跨入.NET门槛后,似乎有沦落之嫌,用户极为寥寥,初学者不会选择,铁杆C++使用者大多心存疑虑。真心希望Stan Lippman和Herb Sutter能够有力回天。
补遗
还有一些值得提到的.NET图书有:《Expert.NET 2.0 IL Assembler》,讲述.NET汇编语言,欲了解底层,不能不看;Robert Martin父子的新作《Agile Principles, Patterns, and Practices of C# and VB.Net》已经由人民邮电出版社引进,是.NET开发人员登堂入室的必读书;JimmyNilsson讲述领域驱动开发与模式的书《Applying Domain-Driven Design and Patterns: With Examples in C# and.NET》是更进一步,与时俱进的领航员;此外,我们得知消息,Bill Wagner计划撰写《More Effective C#》……显然,.NET领域的好书大戏还未上演,我们共同期待吧。