扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
|
我们上两期介绍的是C++图书,非常凑巧的是,在此期间Scott Meyers也在Artima.com的C++ Source专栏(《C/C++ User's Journal》停刊之后,这里成了C++方面的重镇)里连续发表了系列回顾文章(http://www.artima.com/cppsource/top_cpp_books.html),评出了最重要的C++人物、图书、文章和软件等等,与我们的专栏非常契合,所以在这里分享一下:
最重要的C++人物是:
Bjarne Stroustrup,Andrew Koenig,Scott Meyers,Herb Sutter和Andrei Alexandrescu。
最重要的C++图书是:
Bjarne Stroustrup的《The C++ Programming Language》Scott Meyers的《Effective C++》
GoF的《Design Patterns》《C++国际标准》
Andrei Alexandrescu的《Modern C++ Design》除了标准本身之外,其他书和人我们的专栏文章均已经浓墨重彩地评述过,就不再赘述。
最重要的C++软件是Cfront(AT & T Bell Telephone Laboratories)、GCC(GNU Project)、Visual C++(Microsoft)、The Standard Template Library(HP)和Boost库。我注意到有评论对此有异议,说浏览器岂不是更加重要?Meyers这里的重要是对于C++本身而言的。否则,用C ++开发的重要软件评选起来,可能就没有什么共识了。Windows?Photoshop?贝尔的电话交换系统?太多重要应用了。
说Java现在如日中天,大概没有太多人反对,卖得最好的程序设计书已经从C++变成了Java。可是当年Java刚刚推出并且暴得 大名之后,跟风出版的一大批Java图书几乎都没有得到什么好下场。历史总是惊人的相似。微软的.NET1.0乃至1.1发布之后,紧跟大形势所出的图 书,能够在市场立足的,也是少之又少。清华所出微软黑皮书系列乏善可陈,甚至Stan Lippman的《C# Primer》,Don Box的《Essential.NET》这样已经有绝对市场号召力的大师级人物的.NET著作也未能幸免。在国际上,高歌猛进中渐渐乏力乃至崩溃的 Wrox,在我看来,很大程度上就是因为.NET图书出得太多太猛。
也许正是这样的原因,本专栏一直对于.NET图书的推荐非常犹豫。各种媒体,包括平面和网络的,几乎都无法提供太多集中的、有价值的 当前信息,甚至微软网站上的推荐也非常局限。在准备本文时唯一能够查到的,是2004年4月《程序员》杂志上荣耀先生的《.NET程序设计之四书五经》一 文,但与同一作者C++推介时的洋洋洒洒不同,文中总共只不过举出了不到十种图书而已。从中也可以看出.NET图书在当时的总体情况。
.NET2.0推出时,微软调整了策略,将这个原来说来说去也说不清楚、什么都能装的大篮子,缩小为专注于开发人员,而人们也不再有 过去那样高的期望值,国内出版界的谨慎是显而易见的。在.NET2.0发布之后已经快一年了,市面上还没有出现明显的扎堆现象。然而,数据表明,和 Java要到1.2之后方见彩虹一样,.NET的好日子也来了。
正如我在先后两篇《图书:技术趋势晴雨表》(《程序员》2005.12,2006.8)文章中所分析的,在语言方面C#在第二集团的 位置已经稳定,而且成长性最佳,非常有望进入第一集团,VB.NET虽然远远没有继承VB6的份额,但是收益正在逐渐增加;Web开发方面, ASP.NET占据了绝对优势,几乎可以与JSP+Struts+Hibernate+Spring等等诸多JavaWeb技术的总量相抗衡。我个人感 觉,.NET程序员相对Java程序员而言要保守一些,非微软的东西很难成气候,甚至微软的新东西也跟得不是那么紧。如果不是这样,.NET平台也有一些 第三方技术兴起的话,市场格局可能会有更大变数。
好了,大背景的叙述到此为止,我们开始正题——.NET图书推荐。与我们之前推荐主题不同的是,.NET曾经是一个内涵非常广泛的技 术总称,即使是今天,它所包含的技术仍然是非常惊人的。首先,它是跨语言的,几乎所有主流语言都有.NET变体,最近.NET对脚本语言的支持又有所加 强;其次,它是跨平台的,包括各种操作系统(虽然非Windows平台尚没有进入商业应用主流),包括桌面、服务器和嵌入系统;第三,它的发展速度很快, 比如最近WinFX就已经改名为.NET3.0,又如即将发布正式版的ASP.NETAjax扩展——Atlas。显然,我们必须首先做出抉择。从目前市 场来看,ASP.NET及其相关图书是.NET当然的主流,由此带动了C#图书,此外值得关注的就是一些中高阶读物了,VB.NET、VC++.NET (C++/CLI)等等其他方面目前几乎还远远没有替代前.NET的祖辈。WinFX方面的图书也许要到明年推介更加合适。因此,本文将分为两部分,本月 介绍综合和C#图书。
国外的.NET图书自2000年前后开始,经过几个版本的大浪淘沙,已经蔚为大观,硕果累累。主要技术出版社均有较大规模的.NET 系列。Apress、Microsoft、Wrox和O’Reilly都是市场中的强者,竞争非常激烈。总体而言,国内目前值得推荐的.NET图书还是以 国外引进的为主,但是因为受困于中文版的翻译质量,并没有取得似乎理应取得的市场主导地位。当然,国内包括台湾地区作者的原创图书,已经有了长足的进步, 市场份额和市场影响力都在扩大。
综 合
MICROSOFT.NET框架程序设计(修订版)
Applied Microsoft.NET Framework programming
JEFFREY RICHTER
译者:李建忠
清华大学出版社
ISBN:7-302-07509-3
定价:68.00元
其实.NET一词最直接的对应,应该就是.NET框架,可以理解为操作系统之上、应用程序之下的中间层平台,由一个虚拟机(CLR)和 多个类库组成。从事.NET编程,无论使用什么语言和技术,.NET框架都是需要熟悉的。本书是这一主题的不二之选。清华大学出版社在初译稿十分糟糕的情 况下,请到了业界知名的专家李建忠重译此书,可以算是佳话。英文新版名为《CLRviaC#》,已经出版。
此外还可以推荐的是中国电力出版社出版的《.NET框架精髓》,言简意赅,但是版本太老。.NET框架方面的知识一般比较好的C#技术书都会详细讲述,所以本类图书并非必需。
.NET设计规范:NET约定、惯用法与模式
Framework Design Guidelines KRZYSZTOF CWALINA,BRAD ABRAMS
译者:葛子昂
人民邮电出版社
ISBN:7-115-14929-1
定价:49.00元
我很庆幸自己在选书时没有因为本书原名的学术化而留下遗珠之恨。将是否领悟了本书作为区分优秀与平庸.NET程序员的标准,也许不会有 太多的异议。本书从某种意义来说非常像《Effective Java》,都是平台设计者面向广大开发人员讲述自身经验。其重要性怎么强调也不过分。想想吧,阅读本书时,你仿佛走入了微软公司.NET核心开发小组的 办公室,聆听来自C#之父Anders Hejlsberg、传奇技术作家Jeffrey Richter、VB.NET之父Paul Vick等微软技术大师们讨论.NET框架的设计……本书荣获今年Jolt生产效率大奖,在我印象中,这好像是.NET图书第一次获得这一奖项。译者葛子 昂是微软公司的开发人员,正在从事.NET3.0的研发,他译笔的老练让人很难相信这是他的第一部译作。本书中文版出版后,迅速登上畅销榜首,看来,国内 的读者还是非常专业的。
当然,同一层次值得期待的还有Robert Martin《敏捷软件开发》一书的C#版,这次Bob大叔是上阵父子兵,原书最近已经出版,中文版权由人民邮电出版社获得。
C#
按学习的路线,如果你的目标是用ASP.NET来开发各种Web程序的话,下一步就是C#语言了。虽然VB.NET也是一种选择,但是从图书销售的情况看,这样做的人并不多。
C#与.NET平台高级编程
Pro C# 2005 and the.NET 2.0 Platform
Andrew Troelsen
译者:王少葵等
人民邮电出版社(即出)
C#方面的好书国外应该首推这一本,它是少数入围Jolt大奖评选的.NET图书,兼讲述C#和.NET,深度和广度俱佳。如果你只想 买一本C#和.NET图书,那这本书就是你的当然选择。该书人民邮电出版社正在加紧制作,希望能够尽快与读者见面。这本书唯一的缺点,也许是篇幅有些过 大,达到了1000多页。
PROGRAMMING C# 中文版(第四版)
JESSE LIBERTY
译者:刘基诚
电子工业出版社(即出)
如果你对1000多页的大部头心存畏惧的话,本书将是你的选择。其地位与上一本书从某种意义上来说不相上下,但总体更加基础一些。译者正是本专栏主持,上一版的翻译奠定了他优秀技术译者的地位,质量大可以放心。但是不知何时能够竣工?
VISUAL C# 2005从入门到精通
Microsoft VisualC# 2005 Step by Step
JOHN SHARP 译者:周靖
清华大学出版社
ISBN:7-302-13100-7
定价:49.00元
如果你是初学者,想选择一本薄的纯语言入门教程,可以考虑本书。翻译在清华大学同系列中是比较出众的。但是要注意的是,本书篇幅所限,有些部分非常简略,而且基本没有涉及.NET框架,所以在入门之后,还需要购买其他配套图书。
在C#语言层面的书中,国内目前有一本清华大学出版社引进Wros的书《C#入门经典(第3版)》卖得不错,但是平心而论,并不值得推荐。因为篇幅很大,内容深度又不出色,有些不上不下的尴尬感觉。
Beginning C# Objects中文版——概念到代码
Jacquie barker,Grant palmer
译者:韩磊 戴飞
电子工业出版社ISBN:7-121-02493-4
定价:68.00元
这是一本重视面向对象思想和技术胜于C#语言的中级图书,所以对有了不错的OO基础、仅仅想学C#的读者,可能并不适合。不过,如果你 的OO基础不那么扎实,本书还是非常值得一读的。毕竟C#基本上是纯OO的语言。书中对OO的阐述,在我看来,不亚于Java编程思想,甚至通俗性还有过 之而无不及。作者的成名作是本书的Java版本,中文版即将由人民邮电出版社推出。
C#与.NET2实战:平台、语言和框架
Practical.Net2 and C#2 Patrick Smacchia
译者:施凡等
人民邮电出版社(即出)
这是一本在微软MVP(最有价值专家)圈子里口口相传而流行起来的奇书。在我看来,本书与Core Java在Java图书中的地位极为接近。主要着眼点不是介绍语言特性本身,而是如何在实战环境下运用这些特性。代码取自实战,非常密集。而这正是《C# 入门经典》和许多平庸的C#图书非常缺乏的。作者是法国的一位微软MVP,法文版由O’Reilly法国公司出版,是法文.NET图书中的执牛耳者,据说 销量占据了大半江山,非常惊人。英文版由一家小出版社出版(为什么美国O'Reilly不出呢?),营销方面可能受了一定影响,并没有重现在法国的奇迹。 但是酒香不怕巷子深,在Amazon上也很快聚集了30多条评论,总计接近于5星。译者由国内的微软MVP组成,非常值得期待。
Effective C# Bill Wagner
影印版:机械工业出版社
7-111-17473-9
中文版:译者:李建忠
人民邮电出版社(即出)
与其他主流语言一样,Effective风格的经验总结是少不了的。虽然本书作者与同系列中C++和Java的作者不能同日而语,但是本书充分证明了作者的实力。译者也是一时之选。唯一的问题就是中文版何时出版了。另外,原作者又有了写作More Effective C#的计划,人民邮电出版社也将继续引进出版。
其他值得推荐的C#中高级图书还有:
中国电力出版社的《C#设计模式》(Steve Metsker 著,ISBN:7-5083-3492-2)是按目录讲述的模式图书,原著比Cooper那本要好,翻译也不错;
人民邮电出版社即将出版的《.NET模式开发实战》(Christian Gross著),是讲述如何运用模式的图书,立意新颖,打破了模式图书的既有框框;
清华大学出版社出版的原创图书《深入浅出设计模式(C# / Java版)》(莫勇腾著,ISBN:7-302-13564-9),我没有看过,但从目录和网上评论来看,有很多自己的体会,而且将GoF模式与Craig Larman《UML和模式应用》中的GRASP模式相结合。
东南大学出版社影印的《.NET组件开发(第二版)》,Amazon上50多位读者五星评论,非常惊人。虽然有不少书都以“C#高级编程”之类冠名,但多数其实难负,我认为这个名字放在本书身上才是最合适的。书中基本没有基础内容,都是实打实的硬知识。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者