Sunday, July 27, 2008

最近10年计算机专业图书中的50强

美国著名图书频道Book Pool集结最权威的62位作者评选出了最近10年计算机专业图书中的50强。

光这62位作者阵营就非常强大,我们熟悉的就有:
  • Francesco Balena《Microsoft.NET框架程序设计——Visual Basic.NET语言描述》作者)
  • Bert Bates《Head First Design Patterns》作者)
  • Joshua Bloch《Effective Java》作者)
  • Kalen Delaney《Microsoft SQL Server 2000技术内幕》作者)
  • Stephen C. Dewhurst《C++ Gotchas》作者)
  • Bill Evjen《Visual Basic.NET宝典》作者)
  • Dino Esposito《构建Web解决方案——应用ASP.NET和ADO.NET、Microsoft .NET XML程序设计》作者)
  • Andy HuntPragmatic Programmer系列图书作者)
  • Gary McGraw《Exploiting Software: How to Break Code》作者)
  • Steve McConnell《Code Complete》作者)
  • Christian Nagel《Enterprise Services with the .NET Framework》作者)
  • Arnold Robbins《Linux程序设计》作者)
  • Tim O'Reilly(O'Reilly媒体集团创始人)
  • Chris Sells《Windows Forms程序设计、.NET本质论》作者)
  • Stephen Walther《设计模式——可复用面向对象软件的基础》作者)
  • John Vlissides《ASP.NET揭秘》作者)
由此可见这次评选的权威性,还是让我们来看看这50本书的分布吧:

软件工程类

按照现代计算机技术的发展,《人月神话》应该称得骨灰级图书了,计算机图书能够流行30年,Frederick Brooks确实让人刮目相看。这种现象往往出现在软件工程类和算法类的图书上,这些理论和技术往往经久不衰。比如:
  • 《设计模式:可复用面向对象软件的基础》1994年出版(多位大师创作)
  • 《人件》1987年出版(Tom DeMarcoTimothy Lister
Martin FowlerKent Beck是软件工程领域最有名的技术作家,剩下的4本上榜图书全部是他们所写:
  • 《企业应用架构模式》Martin Fowler
  • 《重构——改善既有代码的设计》Martin Fowler
  • 《解析极限编程》Kent Beck
  • 《UML精粹:标准对象建模语言简明教程》Martin Fowler
看看这个领域还漏掉哪些经典:
Robert C. Martin《敏捷软件开发:原则、模式与实践》或者是其他?

C/C++类

C语言的设计者Brian W. Kernighan《C程序设计语言》确实经典,超过C++之父Bjarne Stroustrup《C++程序设计语言》进入名单榜中。

此外,Scott Meyers《Effective C++》众望所归,他的《More Effective C++》《Effective STL》也同样精彩。

Stan Lippman《C++ Primer》不在榜单,有点可惜。

Java类

不 知道什么原因,Java类图书的排名比较靠后,《Head First Java》是一本不错的教材,不过国内好像还未引进,《Java 2核心技术 卷I:基础知识》已经出第7版了,可见受欢迎的程度。Sun的Joshua Bloch《Effective Java》采用Scott Meyers的风格,使本书成为真正的Effective Java Book。

不过《Java编程思想》《J2EE核心模式》《Contributing to Eclipse》《Expert One-on-One J2EE Development without EJB》落榜有点意外。

Windows/.NET类

Charles Petzold《Windows程序设计》是尽人皆知的Win32 API编程经典,也称为“Petzold Book”。由Anders Hejlsberg来写《C#编程语言详解 》,谁说不是经典?不过《ADO.NET实用指南》上榜有点出乎我的意料,为什么不是Jeffrey Richter《Microsoft .NET框架程序设计》

Linux/Unix类

这类只有一本《UNIX环境高级编程》,漏掉了《UNIX 编程艺术》是否可惜?

Web开发类

有3本书上榜,Perl之父Larry Wall《Perl语言编程》是经典的教程,《网站重构》上榜在情理之中,Jeffrey Zeldman一直走在Web标准制定的最前沿。

ASP.NET Page Framework负责人Nikhil Kothari《ASP.NET服务器控件与组件开发》讲解ASP.NET模式非常清晰,不过,如果是ASP.NET入门的话,我倒是推荐另外一本——《ASP.NET揭秘》

还有没有漏掉什么啦?《JavaScript权威指南》是不是也很好?

网络通讯类

这类图书上榜比较多,TCP/IP如此的重要,《TCP/IP详解 卷I:协议》《TCP/IP路由技术(第一卷)》同时上榜。其他的还有《Internet路由结构》《计算机网络(第四版)》《DNS与BIND》

数据库类

数据库类评选结果不太好评点,《Transact-SQL权威指南》是一本标准的T-SQL教材,进一步实践,还是建议看邹建最新出版的中文版《SQL Server 2000 开发与管理应用实例》

其 他上榜的都没有中文版:《A First Look at SQL Server 2005 for Developers》(FirstLook系列过时太快,基本上没有引进)、《Expert Oracle, Signature Edition (One-on-One)》(2005年的新书,作者Thomas Kyte是Oracle的VP)、《Joe Celko's SQL for Smarties : Advanced SQL Programming》(作者Joe Celko是ANSI SQL标准委员会成员)。

安全类

网络社会没有比安全更重要的了,这类图书上榜就有5本,分别是: 《编写安全的代码》《黑客大曝光》《信息安全工程》《网络信息安全的真相》《应用密码学》。 后2本都是国际公认密码和信息安全专家Bruce Schneier的大作。

算法和代码类

提到算法,没有人不想到Donald E. Knuth《计算机程序设计艺术》,据说Bill Gates曾放言,做对该书所有习题就能到微软来报到上班,可见此书探讨算法的深度。相比Donald的巨著,《算法导论》更适合做为算法教材。

《代码大全》上榜在预料之中,这本书曾经有过中文版,不过现在已经绝版了,有点可惜。

综合类

不 好归类的都叫综合类吧,《程序员修炼之道》书名翻译不太恰当,《Pragmatic Programmer》代表注重实效的程序员,程序员如何注重实效?全书就围绕这个话题在谈。不过,因为这本书出版时间较早(1999年),我更愿意看《Joel说软件》,这种Blog的写作风格更加通俗易懂。

《编程珠玑》《程序设计实践》是2本讲解编程技巧的图书,如果说软件是工艺的话,你对这门手艺掌握的如何了?

Merrill R. Chapman作为老资格的程序员、销售主管,在《IT大败局》中以事件亲历的方式来剖析Ashton-Tate等公司的失败案例的时候显得特别具有说服力。前车之鉴、后车之师,何必自己花钱买教训呢?

综合类还有很多好书,比如,Gerald M.Weinberg《你的灯亮着吗?》David Kushner《DOOM启世录》都值得一读。国内的读者还不应该放过李维《Borland传奇》蔡学镛《爪哇夜未眠》

其他一些上榜图书没有中文版,不太好点评,分别是:
  • 《Microsoft SharePoint: Building Office 2003 Solutions》
  • 《Group Policy, Profiles, and IntelliMirror for Windows 2003, Windows XP, and Windows 2000》
  • 《Don't Make Me Think》
  • 《The Design of Everyday Things》
  • 《The Code Book: The Science of Secrecy from Ancient Egypt to Quantum Cryptography》
  • 《Mac OS X: The Missing Manual, Panther Edition》
  • 《The Elements of Style, 4th Edition》
  • 《Godel, Escher, Bach: An Eternal Golden Braid》

No comments: