分享 IT 类电子书(37本)——增加“IT”大类

  定期分享电子书一年多了,上传的电子书已经涵盖了几个不同的领域,但居然一直【没有】“IT类”的。实在对不起俺“编程随想”这个网名。   主要是因为 IT 领域发展太快,发展太快意味着大多数书籍的生命周期变短。所以俺比较犹豫,到底要不要把那些短周期的书籍分享出来。   经过考虑,决定只分享那些生命周期较长,不太容易过时的 IT 类电子书。一来可以降低工作量(俺比较懒),二来可以避免电子书清单过于冗长。   另外,生命周期较长的书籍,通常也意味着更高的价值。这样的书籍也更加有分享的意义。
  按照惯例,上传的电子书都汇总到【编程随想的收藏】这个站点。
  想要下载的同学,请用鼠标猛击【这里】,打开“电子书清单”(里面包含下载链接)

Frederick Brooks:《The Mythical Man-Month》 (人月神话) 作者是IT领域的大牛,曾获图灵奖。

关于此书,俺的书评在”这里“。

此书最早出版于1975年,网盘上的是20周年纪念版(1995年版)。可见此书历久不衰。

Gang of Four:《Design Patterns——Elements of Reusable OO Software

(设计模式——可复用面向对象软件的基础) “设计模式”俺就不用介绍了吧,不了解的同学先看维基百科。 此书是第一本关于”设计模式”的书,堪称奠基之作。 Gang of Four 分别是:Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides

Martin Fowler & Kent Beck 等 :《Refactoring——Improving the Design of Existing Code

(重构——改善既有代码的质量) 此书有多位作者,头两个在软件工程领域名气很大(接触过敏捷开发的同学,应该听说过这俩)。 此书与前面那本《设计模式》,号称是软工领域双雄。

Steve McConnell:《Code Complete

(代码大全) 此书号称是”软件开发人员必备工具书”。 书中涵盖了编写代码的各种基本功(真的是非常基本)。 如果缺乏这些基本功,你就写不出像样的代码。

Tom Demarco & Timothy Lister:《Peopleware——Productive Projects and Teams

(人件) Tom Demarco是编程界的元老,曾在70年代提出”结构化分析方法”。 此书偏重管理方面。书名想表达的意思是:软件开发过程中,不光要注重软件和硬件,还要注重”人件”。 非技术出身的软件公司高管,一定要看此书。

Tom Demarco:《The Deadline——A Novel about Project Management

(最后期限) Tom Demarco是编程界的元老,曾在70年代提出”结构化分析方法” 此书很独特——以小说的形式,来介绍项目管理。
Bjarne Stroustrup:《The C++ Programming Language》 (C++程序设计语言) 作者是C++之父。光凭作者的角色,足以说明此书的份量。 在C++社区,此书简称 TCPPPL

Scott Meyers:《Effective C++——55 Specific Ways to Improve Your Programs and Designs

(Effective C++——改善程序与设计的55个具体做法) 作者是知名的C++写手,出版过好几本畅销的C++读物(包括”Effective”系列)。 此书列举了C++编程中的55个注意事项,可以帮新手避开各种陷阱。

Scott Meyers:《More Effective C++——35 New Ways to Improve Your Programs and Designs

(More Effective C++——35个改善编程与设计的有效方法) 作者是知名的C++写手,出版过好几本畅销的C++读物(包括”Effective”系列)。 此书是对《Effective C++》的补充,列举了35个注意事项。

Herb Sutter & Andrei Alexandrescu:《C++ Coding Standards——101 Rules, Guidelines, and Best Practices

(C++ 编程规范——101 条规则、准则与最佳实践) 两位作者都是C++社区的大牛。 Herb Sutter是C++标准委员会主席(光看头衔就知道有多牛了)。 Andrei Alexandrescu是C++领域的牛人,另一本名著《Modern C++ Design》的作者。 此书不局限于编码规范,还涉及其它几个方面(比如类设计、性能、等)

Nicolai Josuttis :《The C++ Standard Library——A Tutorial and Reference

(C++标准库——自修教程与参考手册) 作者是C++领域的牛人,另一本名著《C++ Templates——The Complete Guide》的作者。 此书对想要深入了解STL的同学很有帮助。 顺便说一下,此书中文版的译者是侯捷(能让侯捷出手翻译,必定是好书)

Stanley Lippman 等:《C++ Primer

第一作者Lippman是C++标准委员会成员,C++领域的牛人。 虽然书名叫”Primer”,不过俺觉得此书内容覆盖面太广,更适合”进阶”而不是”入门”。

Stanley Lippman:《Inside the C++ Object Model

(深度探索C++对象模型) 作者是C++标准委员会成员,C++领域的牛人。 此书着重介绍底层(编译器层面)的运作机制,适合于进阶。 顺便说一下,此书中文版的译者是侯捷(能让侯捷出手翻译,必定是好书)
Mark Pilgrim:《Dive into Python》 (深入Python) 这大概是影响力最大的一本Python入门读物。 作者把该书以GPL方式发布,大伙儿可以任意复制此书。 缺点是出版的时间有点早,那时Python2刚发布没多久。 后来作者出了更新的版本《深入 Python3》。

Mark Pilgrim:《Dive into Python3

(深入Python3) 这是专门针对Python3的入门教程。 书中花了不少笔墨来介绍如何从Python2迁移到Python3。

Mark Lutz:《Learning Python

作为入门教程,此书已经出到第5版。 该版本是2013年新鲜出炉的,(从版本上)覆盖了Python2.7和Python3.3。

David Beazley:《Python Cookbook

此书的第3版也是2013年新鲜出炉的。 此书定位入门之后的”进阶”,面向已经有一定经验的Python程序猿。
Bruce Eckel:《Thinking in Java》 (Java 编程思想) 作者是知名的IT专栏作家,出版过C++、Java、Python的”Thinking in”系列。 不同于很多庸俗的Java入门书仅仅介绍语法,此书还介绍Java更深层面的东西。
Thomas Cormen & Charles Leiserson & Ronald Rivest & Clifford Stein:《Introduction to Algorithms》 (算法导论) 此书出自MIT,是最经典的算法类教材,被各国的很多大学采用。 俺上传的是最新的是第3版(另上传了教师手册)。

Jon Bentley:《Programming Pearls

(编程珠玑) 这又是名气很大的一本算法书,不亚于《算法导论》。 书中内容大都来自作者在《Communications of the ACM》杂志上的”Programming Pearls”专栏文章。 所以此书在内容组织上跟《算法导论》迥异,各个章节相对独立。
Eric Raymond(埃里克·雷蒙德) :《The Art of UNIX Programming》 (UNIX编程艺术) 作者是知名黑客,开源运动的旗手。 这是他的代表作,书名简称”TAOUP”。 此书重点不在”编程”,而是介绍UNIX的哲学、设计思想、理念(俺觉得这些更重要,也更持久)。 他的另一个代表作是《五部曲》(俺也上传了)。

Richard Stevens(理查德·史蒂文斯) & Stephen Rago :《Advanced Programming in the UNIX Environment

(UNIX环境高级编程) 第一作者是UNIX领域和网络领域的大牛,著有多部畅销的技术书籍。 此书被誉为”UNIX编程的圣经”。 第2版是2005年出的,补充了一些新的技术。 今天时间仓促,过几天把中文版也放上来。

Kay Robbins & Steven Robbins:《UNIX Systems Programming——Communication, Cocurrency, and Threads

这本主要是讲UNIX环境下的并发编程和进程间通讯。
Jeffrey Richter:《Windows核心编程》 (Programming Applications for Windows) 在Win32系统编程中,这可能是影响力最大的一本。 当年俺也是看这本书,从Win16编程转型到Win32编程。 今天时间仓促,过几天把中文版也放上来。
Richard Stevens(理查德·史蒂文斯) :《UNIX Network Programming》(共两卷) (UNIX网络编程) 作者是UNIX领域和网络领域的大牛,著有多部畅销的技术书籍。 今天时间仓促,先上传卷1。

Douglas Schmidt:《C++ Network Programming》 (共两卷)

(C++网络编程) 这两卷主要讲如何用ACE(Adaptive Communication Environment)进行网络编程。 ACE是一个很老牌的C++通讯库,既可以用来做主机间的网络通讯,也可以用于本机的IPC。 本书的作者也是ACE的主要开发者。
Andrew Hunt & David Thomas:《Pragmatic Programmers——From Journeyman to Master》 (程序员修炼之道——从小工到专家) 如果一个新手程序员想要成长,强烈建议看此书。 此书不限于”编码”范畴,还涉及到其它几个方面。 (考虑到”黑客”一词已经被严重误解,俺单独放一个目录介绍黑客文化。希望大伙儿搞清楚:”黑客”与”骇客”是有天壤之别的)

Paul Graham(保罗·格雷汉姆) :《Hackers and Painters

(黑客与画家) 作者是知名Lisp黑客,和Robert Morris(另一个牛黑客)共同创办了Viaweb(该公司被 Yahoo 高价收购,成为Yahoo Store)。 他成立的风投(Y Combinator)在硅谷很有影响力,资助了大批技术型创业公司。

Eric Raymond(埃里克·雷蒙德) :《五步曲

作者是知名黑客,开源运动的旗手。 这是他的代表作,分别是:《黑客简史》《大教堂与市集》、《如何成为一名黑客》、《开拓智域》、《魔法大锅炉》。 他的另一个代表作是《UNIX编程艺术》(俺也上传了)。
Kevin Mitnick(凯文·米特尼克) :《The Art of Deception——Controlling the Human Element of Security》 (欺骗的艺术) 作者号称”头号黑帽黑客”,其经历极具传奇色彩,比如15岁就侵入北美防空指挥系统。 此书是社会工程学领域最经典的著作(没有之一)。

没听说过”社会工程学”的同学,可以看俺博客的扫盲教程(在”这里“)

Douglas Stinson:《Cryptography——Theory and Practice》 (密码学原理与实践) 此书是密码学领域的经典教材。 第2版稍微有点老,目前最新的是第3版。 阅读此书需要一定的数学基础。

Bruce Schneier :《Applied Cryptography——Protocols, Algorithms, and Source Code in C

(应用密码学——协议、算法与C源程序) 这本也是经典的密码学著作,还是第4届Jolt大奖获奖图书。 此书附带大量源代码(光压缩包就5兆) 阅读此书需要一定的数学基础。
Maurice Bach :《The Design of the UNIX Operating System》 (UNIX 操作系统设计) 作者长期在AT&T公司贝尔实验室(UNIX发源地)工作。 此书的内容主要来自作者在80年代讲授的一门课程 此书有助于了解UNIX内核的运作机制(进程调度、内存管理、文件系统、等等)。

Daniel Bovet & Marco Cesati :《Understanding the Linux Kernel

(深入理解 Linux 内核) 此书有助于了解Linux内核的运作机制(进程调度、内存管理、文件系统、等等)。 此书的第3版对应Linux内核2.6版本。
Richard Stevens(理查德·史蒂文斯) :《TCP-IP Illustrated》 (共三卷) (TCP-IP详解) 作者是UNIX领域和网络领域的大牛,著有多部畅销的技术书籍。 关于TCP-IP协议族的书籍中,这三卷大概是影响力最大的。 今天时间仓促,过几天把后面两卷也放上来。
吴军:《浪潮之巅》 此书每一章介绍一家名垂IT史的公司,从中可以了解信息产业的发展史及其特色文化。 作者貌似在写第2版,还没写完。 等第2版完成,俺也上传到网盘。

李维:《Borland 传奇

此书介绍了 Borland 的传奇经历,也可以从此书一窥微软的发家史。

90后的程序员可能对Borland所知不多。但是俺这个年龄的程序员对Borland可是如雷贯耳。