Sunday, January 22, 2006

近10年最强的50本计算机图书

I found it from here

NO.1
设计模式:可复用面向对象软件的基础
Design Patterns: Elements of Reusable Object-Oriented Software
NO.2
人月神话
The Mythical Man-Month: Anniversary Edition
NO.3
TCP/IP详解卷1:协议
TCP/IP Illustrated, Volume 1: The Protocols
NO.4
编写安全的代码
Writing Secure Code, Second Edition
NO.5
UNIX环境高级编程
Advanced Programming in the UNIX Environment, 2nd Edition
NO.6
代码大全
Code Complete, 2nd Edition
NO.7
C程序设计语言
The C Programming Language, 2nd Edition
NO.8
计算机程序设计艺术
Art of Computer Programming Volumes 1-3 Boxed Set
NO.9
Effective C++
Effective C++: 55 Specific Ways to Improve Your Programs and Designs, 3rd Edition
NO.10
Transact-sql权威指南
The Guru's Guide to Transact-SQL
NO.11
Perl语言编程
Programming Perl, 3rd Edition
NO.12
编程珠玑
Programming Pearls, 2nd Edition
NO.13
程序员修炼之道
Pragmatic Programmer: From Journeyman to Master
NO.14
解析极限编程
Extreme Programming Explained: Embrace Change, 2nd Edition
NO.15
Don't Make Me Think
Don't Make Me Think: A Common Sense Approach to Web Usability, 2nd Edition
NO.16
ASP.NET服务器空间与组件开发
Developing Microsoft ASP.NET Server Controls and Components
NO.17
信息安全工程
Security Engineering: A Guide to Building Dependable Distributed Systems
NO.18
TCP/IP路由技术(第一卷)
Routing TCP/IP, Volume 1
NO.19
The Design of Everyday Things
NO.20
Joel说软件
Joel on Software
NO.21
Internet路由结构
Internet Routing Architectures, 2nd Edition
NO.22
网络信息安全的真相
Secrets & Lies: Digital Security in a Networked World
NO.23
程序设计实践
The Practice of Programming
NO.24
网站重构
Designing with Web Standards
NO.25
人件
Peopleware: Productive Projects and Teams, 2nd Edition
NO.26
The Code Book: The Science of Secrecy from Ancient Egypt to Quantum Cryptography
NO.27
WINDOWS程序设计
Programming Windows, 5th Edition
NO.28
Mac OS X: The Missing Manual, Panther Edition
NO.29
The Elements of Style, 4th Edition
NO.30
IT大败局
In Search of Stupidity: Over 20 Years of High-Tech Marketing Disasters
NO.31
Godel, Escher, Bach: An Eternal Golden Braid
NO.32
Service-Oriented Architecture: A Field Guide to Integrating XML and Web Services
NO.33
Head First Java, 2nd Edition
NO.34
算法导论
Introduction to Algorithms, 2nd Edition
NO.35
A First Look at SQL Server 2005 for Developers
NO.36
Core Java 2, Volume 1: Fundamentals, 7th Edition
NO.37
UML精粹:标准对象建模语言简明教程
UML Distilled: A Brief Guide to the Standard Object Modeling Language, 3rd Edition
NO.38
Expert Oracle, Signature Edition (One-on-One)
NO.39
黑客大曝光
Hacking Exposed: Network Security Secrets & Solutions, 5th Edition
NO.40
Microsoft SharePoint: Building Office 2003 Solutions
NO.41
EFFECTIVE JAVA中文版
Effective Java Programming Language Guide
NO.42
Joe Celko's SQL for Smarties : Advanced SQL Programming, 3rd Edition
NO.43
企业应用架构模式
Patterns of Enterprise Application Architecture
NO.44
Group Policy, Profiles, and IntelliMirror for Windows 2003, Windows XP, and Windows 2000
NO.45
应用密码学
Applied Cryptography: Protocols, Algorithms, and Source Code in C, 2nd Edition
NO.46
重构--改善既有代码的设计
Refactoring: Improving the Design of Existing Code (The Addison-Wesley Object Technology Series)
NO.47
C#编程语言详解
The C# Programming Language
NO.48
ADO.NET实用指南
Pragmatic ADO.NET: Data Access for the Internet World
NO.49
计算机网络(第四版)
Computer Networks, 4th Edition
NO.50
DNS与BIND

近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 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

No comments: