天天看點

近10年好的計算機圖書

美國著名圖書頻道 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 Hunt(Pragmatic 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 DeMarco 、 Timothy Lister)

Martin Fowler 和 Kent 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 詳解卷 1: 協定和 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