编程好书推荐

编程学习好书推介

一、WEB应用开发人员必修功课类

1、XHTML 教程(XHTML)

作者:Chelsea Valentine, Chris Minnick

New Riders 原版,人民邮电出版社中文版

是的,今天你最应该学习的是 XHTML,而不是 HTML。HTML 4.x 已经是一个被废弃了的标准,今天的标准是 XHTML 1.0。XHTML 1.0 也不是 XHTML 最新的版本,但是它是目前唯一得到浏览器广泛支持和唯一实用的 XHTML 版本。

2、JavaScript 权威指南第四版(JavaScript: The Definitive Guide)

作者:David Flanagan

O'Reilly 原版,中国电力出版社中文版

JavaScript 爱好者亲切地称之为“犀牛书”,因为 O'Reilly 以犀牛作为这本书的封面。这是目前 JavaScript 领域最深入和最权威的入门书。与其它 JavaScript 相关书籍的区别是这本书一半以上的篇幅着重于深入介绍 JavaScript 语言本身的基础知识,而不是象其它的书一样把基础知识和与 HTML 相结合做 Web 开发的内容(这些内容往往偏重于细节,使得其篇幅很容易就超出了 1000 页,例如《JavaScript Bible》)混杂在一起。对于刚刚开始学习 JavaScript 的初学者,这本书毫无疑问是最佳的入门书。


3、XML 高级编程(Professional XML)

Didier Martin等著

Wrox 原版,机械工业出版社中文版

这本书是关于 XML 开发
技术非常详尽的著作。虽然因为作者众多(第一版 12 个人,第二版好像又多了几个),无法摆脱 Wrox 红皮书系列大杂烩的印记,但是这本书可以说是红皮书系列中少有的精品。

这本书可以作为 XML 技术参考书,虽然很厚,但是没有必要从头到尾全部读完。其中与 Ajax 相关的内容包括 XML DOM、XSLT 等等。

4、网站重构(Designing with Web Standards)

作者:Jeffrey Zeldman

New Riders 原版,电子工业出版社中文版

这本书详细地介绍了如何摒弃远古时代(按照我的理解,3 年以前吧)不符合标准,专门针对某种浏览器(90%以上的情况下是 IE)做开发的恶习,真正采用符合标准的方式来做开发,最终走上向后兼容(注意:不是与浏览器以前不能完整支持 Web 标准的版本相兼容,而是与浏览器以后的版本相兼容)的平坦大路上来。这本书虽然不是 CSS 的专著,但是其中充分展示了使用 CSS 的一些高级
技巧。尤其是最后一章展示了完全基于 CSS 做布局,摒弃使用 table 做布局的老方法的具体做法。

非常遗憾的是这本书的中文版翻译的非常烂,如果不对照原文,很容易误入歧途。读这本书有任何疑问的朋友都可以直接和我联系。

上面列出的是与 Ajax 涉及到的技术相关的书籍。我没有列出 CSS 的书,是因为我并没有专门读过一本 CSS 方面的专著。附件是网上流传很广的 CSS 2.0 中文手册,可以作为这方面的参考。

读了以上这些书,你已经在技术方面打下了极为坚实的基础,你还需要有一个经常的讨论场所,JavaEye 毫无疑问是你最值得来的地方。

下面我再列出几本与技术没有直接关系的书籍。

5、面向使用的
软件设计(Software for Use)

作者:Larry Contantine, Lucy Lockwood

ACM Press 原版,机械工业出版社中文版

大部分的软件都是给人使用的。我在 BEA User Group上的演讲中说到,Ajax 为什么会越来越流行,主要的原因就是它能比传统的基于 HTML FORM 的交互模式带给用户更好的交互体验,也就是 Ajax 可以实现更好的 Web 可用性(Web Usability,这是目前国外的一个专门的研究领域),这才是 Ajax 最大的价值。软件的可用性永远都是一个大的话题,《面向使用的软件设计》正是这方面最权威的专著。我们只要在做最终用户直接使用(有一个可视的界面)的软件开发,提高可用性就是我们需要孜孜不倦追求的目标。

6、软件创新之路(Inmates Are Running the Asylum)

作者:Alan Cooper

Sams Publishing 原版,电子工业出版社中文版

7、About Face 2.0

作者:Alan Cooper

John Wiley & Sons 原版,中文版即将出版(今年之内?)

上面两本书都是交互设计大师 Alan Cooper 的名著,相信很多朋友都知道 Alan Cooper 的大名,这两本书是交互设计爱好者必读的著作。程序员也可以看看

8.ajax实战

作者克拉恩 等

人民邮电出版社

深入浅出的全面介绍了AJAX技术,值得一看!
二、ASP.NET学习类

1.专家门诊——ASP.NET开发答疑200问

作者:梁建全 孙强等

人民邮电出版社

从问题入手,一一解答ASP.NETWEB应用开发中的各种技术,属于实用性比较强的书。

2.C#高级编程(第三版)

作者:罗宾逊 内格尔

清华大学出版社

C#与.NET为在Windows平台上编程提供了一个全新的开发环境,在此环境中几乎可以开发出所有基于Windows和Web的应用程序。本书全面介绍了C#的编程知识,同时提供了理解.NET体系结构工作原理所必需的背景知识,相对前两个版本新增了应用程序的部署和本地化等内容。  本书是开发人员必备的C#参考资料,是C#和.NET用户的良师益友。通过对本书的学习,您将对C#语言的各个方面有深入细致的理解,能够在.NET环境中应用C#,构建Windows窗体,用ADO.NET访问数据库,用ASP.NET编写组件,利用.NET为COM和COM+提供支持等。    本书主要内容:    ·使用面向对象的C#语言编程;    ·使用C#处理XML的方法;    ·集成COM、COM+和Active Directory;    ·编写Windows应用程序和Windows服务;    ·使用.NET Remoting技术开发分布式应用程序;    ·理解.NET程序集;    ·用C#创建图形;    ·控制.NET安全性的方式;    本书读者对象:    本书适用于已具有C++、Visual Basic或J++编程经验的开发人员,也适合那些希望深入学习的C#初级程序员。

3.ASP.NET与C#从入门到精通

作者:琼斯

电子工业出版社

比价全面的讲解ASP.NET和C#,属于必看书

4.C#设计模式

这本书暂时没找到介绍,回头补上。做程序不学设计模式简直不敢想象

三、游戏开发类

基础资料(必看)

1.C++ Primer 中文版(第四版)

2.More Effective C++中文版

3.Effective C++中文版

4.算法Ⅰ-Ⅳ(C++实现)——基础、数据结构、排序和搜索(第三版)

5.C++标准程序库—自修教程与参考手册  

WINDOWS资料(必看)

1.Windows 程序设计(第5版)(上、下册)

2.MFC Windows程序设计(第2版)   

3.Windows核心编程

4.Win32多线程程序设计   

网络资料(网络方向必看)

1Windows网络编程

2.多玩家游戏程序设计

3.ACE程序员指南——网络与系统编程的实用设计模式

4.C++网络编程 卷1:运用ACE和模式消除复杂性

5.C++网络编程,卷2 基于ACE和框架的系统化复用

6.网络游戏服务器编程  

2D/3D资料(2D/3D方向必看)

1.游戏编程入门  

2.Direct3D游戏编程入门教程(第二版)  

3.DirectX高级动画制作(附CD—ROM光盘一张)——Premier游戏开发丛书

4.3D游戏编程大师技巧  

5.3D Math Primer for Graphics and Game Development

专题资料(选择看不分顺序)

1面向对象的游戏开发  

2.游戏开发物理学

3.游戏编程精萃1-4



四、JAVA学习类

<一>基础

   1.Java编程思想 Thinking in JAVA

    作者:(美)埃克尔(Eckel,B.) 著,陈昊鹏 等译     出版社:机械工业出版社


1 C语言    

l     《C程序设计语言(第2版·新版)》... 2

l     《C语言接口与实现:创建可重用软件的技术》... 2

l     《C陷阱与缺陷(中文版)》... 3

l     《C Primer Plus(第五版)中文版》... 4

l     其他参考... 5

2 C++语言... 5

l     《C++编程思想(第2版)第一卷》... 5

l     《C++ Primer (第4版)中文版》... 5

l     《Effective C++(第三版)中文版》... 6

l     其他参考... 6

3 操作系统原理与编程... 7

l     《深入理解计算机系统(修订版)》... 7

l     《Windows核心编程》... 8

l     《深入理解Linux内核(第二版)》... 8

l     《UNIX环境高级编程(第2版)》... 9

l     《自己动手写操作系统》... 9

l     其他参考... 10

4网络原理与编程... 10

l     《计算机网络(第4版)(中文版)》... 10

l     《TCP/IP详解》... 10

l     《UNIX网络编程2卷本(第三版)》... 11

l     《Windows网络编程》... 12

l     其他参考... 13

5算法与数据结构... 13

l     《算法导论》... 13

l     《数据结构与算法分析——C语言描述(原书第2版)》... 14

l     其他参考... 15

6软件工程与软件技术类... 15

l     《代码大全(第二版)》... 15

l     《深入浅出设计模式(英文影印版)》... 16

l     《UML和模式应用(原书第3版)》... 16

l     《重构——改善既有代码的设计(中文版)》... 17

l     《程序员修炼之道》... 17

l     《敏捷软件开发——原则、模式与实践》... 18

l     《解析极限编程——拥抱变化(第二版)(中英文对照)》... 18

l     其他参考... 19

7移动开发与嵌入式编程... 19

l     《Windows Mobile 平台应用与开发》... 19

l     《J2ME 手机游戏开发技术详解》... 20

l     《Symbian OS C++手机应用开发——移动开发系列丛书》... 20

l     《嵌入式Linux系统开发技术详解-基于ARM 》... 21

l     《C语言嵌入式系统开发》... 21

l     《BREW 技术开发与应用》... 22

l     《短信与BREW开发技术及实践》... 22

l     其他参考... 22

8 其他相关类... 23

l     《Perl语言入门(第四版)(中文版)》... 23

l     《精通正则表达式 第二版(英文影印版)》... 23

l     《无线通信原理与应用 第二版(中文版)》... 24

l     其他参考... 25

 

1 C语言
l         《C程序设计语言(第2版·新版)》 

【作者】 (美)Brian W.Kernighan,Dennis M.Ritchie,徐宝文、李志译

【出版社】 机械工业出版社

本书原著即为C语言的设计者之一Dennis M.Ritchie和著名的计算机科学家Brian W.Kernighan合著的一部介绍标准C语言及其程序设计方法的权威性经典著作。该书全面、系统地讲述了C语言的各个特性及程序设计的基本方法,包括基本概念、类型和表达式、控制流、函数与程序结构、指针与数组、结构、输入与输出、UNIX系统接口、标准库等内容。
  本书的讲述深入浅出,配合典型例证,通俗易懂,实用性强,适合作为大专院校计算机专业或非计算机专业的C语言教材,也可以作为从事计算机相关软硬件开发的技术人员的参考书。在计算机发展的历史上,没有哪一种程序设计语言像C语言这样应用如此广泛。

我们现在见到的大量论述C语言程序设计的教材和专著均以此书为蓝本。原著第1版中介绍的C语言成为后来广泛使用的C语言版本—— 标准C的基础。人们熟知的“hell, World”程序就是由本书首次引入的,现在,这一程序已经成为所有程序设 计语言入门的第一课。 原著第2版根据1987年制定的ANSIC标准做了适当的修订.引入了最新的语言形式,并增加了新的示例,通过简洁的描述、典型的示例,作者全面、系统、准确地讲述了C语言的各 个特性以及程序设计的基本方法。对于计算机从业人员来说,本书是一本必读的程序设计语言方面的参考书。

 

l         《C语言接口与实现:创建可重用软件的技术》 

【作者】  (美)David R.Hanson,傅蓉、周鹏 、张昆琪译

【出版社】  机械工业出版社

本书概念清晰、内容新颖、实例详尽,是一本有关设计、实现和有效使用C语言库函数,掌握创建可重用C语言软件模块技术的参考指南。本书倡导基于接口的C语言设计理念及其实现技术,深入详细地描述了24个C语言接口及其实现。

本书通过叙述如何用一种与语言无关的方法将接口的设计与实现独立开来,从而形成一种基于接口的设计途径来创建可重用的API,本书是一本针对 C语言程序员的不可多得的好书,也是值得所有希望掌握可重用软件模块技术的读者阅读的参考书籍。

“关于如何设计、实现和有效使用库函数的指南少之又少(如果说还有的话)。这本力作填补了这 个空白。它可以作为下一代软件的工具书.所有的C语言程序员都应该阅读。”——W.Richard Stevens 

“我向每位专业C语言程序员推荐这本书。C语言程序员们忽视书中所描述的各种技术已经太长时 间了。” ——Norman Ramsey,贝尔实验室研究员   

每一位程序员和软件项目经理必须掌握创建可重用软件模块的技术:可重用软件模块是构建大规模、可靠应用的基石。与当前某些面向对象语言不同,C语言为创建可重用应用程 序接口(Application Programming Interface,API)提供的语言和功能支持非常少。尽管大多数C语言程序员在自己所编写的每一个应用程序中都使用API和实现API的库.但只有相当少 的程序员可以创建和发布新的、可广泛使用的API。本书阐述了如何用一种与语言无关的方法将接口的设计与实现独立开来,从而形成一种基于接口的设计途径来创建可重用的API。 书中提供大量实例具体说明这种方法。作者详细描述了24个接口和它们的实现细节,有助于 读者对这种设计方法的透彻理解。

本书具有如下特色: 

●简洁明了的接口描述。为对接口设计感兴趣的程序员提供了一个参考手册 

●每一章接口的代码实现分析将帮助读者修改、扩充一个接口,或者设计相关接口 

●深入探讨了“算法工程”:阐述如何将数据结构以及相关算法打包到可重用模块中 

●24个API和8个实例程序的源代码都经过测试检查,每个程序都是按照”literate程序”的形 式构成。为源代码提供了全面完整的解释 

●提供了非常少见的有关C语言编程技巧的文档记录 

●可以方便地在http://WWW.CS.princeton.edu/software/cii/访问本书的所有源码 

 

l         《C陷阱与缺陷(中文版)》 

   【作者】 Andrew Koenig,高巍译 

   【出版社】 人民邮电出版社  

作者以自己1985年在Bell实验室时发表的一篇论文为基础,结合自己的工作经验扩展成为这本对C程序员具有珍贵价值的经典著作。写作本书的出发点不是要批判C语言,而是要帮助C程序员绕过编程过程中的陷阱和障碍。

 全书分为8章,分别从词法分析、语法分析、连接、库函数、预处理器、可移植性缺陷等几个方面分析了C编程中可能遇到的问题。最后,作者用一章的篇幅给出了若干具体实用价值的建议。 

本书适合有一定经验的C程序员阅读学习,即使你是C编程高手,本书也应该成为你的案头必备书籍。

 

l         《C Primer Plus(第五版)中文版》 

【作者】  (美)Stephen Prata ,云巅工作室译

【出版社】  人民邮电出版社

作为核心计算机技术成熟、完整的参考书籍,Primer Plus系列历经十数年不衰,因为它能够满足那些渴望通过全面理解相关技术继续深造的程序员和开发者的需要。通过学习《C Primer Plus(第五版)中文版》,你将奠定坚实的C编程基础。

与以前的版本一样,作者的目标仍旧是为读者提供一本入门性、条理清晰。见解深刻的C语言教程。作者把编程概念和C语言的细节很好地融合在一起。通过大量短小精悍的范例演示一两个概念,为读者提供了很好的练习机会,有助于读者迅速掌握所讲的知识。每章都提供了复习题和编程练习,进一步强调了最重要的信息,有助于读者消化那些难于理解的概念。本书不仅适用于希望系统学习C语言编程的学生,也适用于那些精通其他高级语言编程,但渴望更好地掌握C语言这门核心语言的开发人员。 

《C Primer Plus(第五版)中文版》专门针对C语言的最新标准C99而作,它覆盖了这个新标准所引入的所有重要的新特性,并对读者所关注的以下几个主题提供了详尽的信息: 

● 扩展的整数类型。

● 扩展的字符支持。 

● 布尔类型的支持。

● 变长数组。

● 复合文字。

● 指定初始化项目。

● 扩展的计算支持。

● 内联函数。

本书全面讲述了C语言编程的相关概念和知识。 

全书共17章。第1、2章学习C语言编程所需的预备知识。第3到15章介绍了C语言的相关知识,包括数据类型、格式化输入输出、运算符、表达式、流程控制语句、函数、数组和指针、字符串操作、内存管理、位操作等等,知识内容都针对C99标准;另外,第10章强化了对指针的讨论,第12章引入了动态内存分配的概念,这些内容更加适合读者的需求。第16章和第17章讨论了C预处理器和C库函数、高级数据表示(数据结构)方面的内容。附录给出了各章后面复习题、编程练习的答案和丰富的C编程参考资料。

本书适合希望系统学习C语言的读者,也适用于精通其他编程语言并希望进一步掌握和巩固C编程技术的程序员。

l         其他参考
《C程序设计(第三版)》---------------谭浩强

《C语言大全(第四版)》----------------HERBERT SCHILDT

《C语言参考手册(原书第5版)》 -----------------Samuel P.Harbison

《C程序设计教程》-------------------H.M.Deitel/P.J.Deitel 

《C专家编程》-------- Perter Van Der LinDen译者:徐波

《C和指针》------- Kenneth   A.Reek译者:徐波

2 C++语言
l         《C++编程思想(第2版)第一卷》 

【作者】(美)Bruce Eckel ,刘宗田 袁兆山 潘秋菱 等译

【出版社】机械工业出版社

本书第1版荣获美国“软件开发”杂志评选的1996年图书震撼大奖(Jolt Award),中文版自2000年推出以来,经久不衰,获得了读者的充分肯定和高度评价。第2版与第1版相比,在章节安排上有以下改变。增加了两章:“对象的创建与使用”和“C++中的C”。前者与“对象导言”实际上是第1版“对象的演化”一章的彻底重写,增加了近几年面向对象方法和编程方法的最新研究与实践的丰硕成果;后者的添加使不熟悉C的读者可以直接使用本书。删去了四章:“输入输出流介绍”、“多重继承”、“异常处理”和“运行时类型识别”,删去的内容均为C++中较复杂的主题,作者将它们连同C++标准完成后增加的一些内容放到本书的第2卷中,使本书的第1卷内容显得更加集中,可以供不同程度的读者选择阅读。需要强调的是,第2版的改变不仅体现在这些章节的调整上,更多的改变体现在每一章的字里行间,包括例子的调整和练习的补充。与众不同的精心选材和认真推敲的叙述使得第2版更趋成熟。本书是C++领域内一本权威的著作,书中的内容、讲授方法、例子和练习既适合课堂教学,又适合读者自学。无论是高等院校计算机及相关专业的学生,还是业界的从业人员,以及广大的计算机爱好者,都可从阅读本书中获益。

 

l         《C++ Primer (第4版)中文版》 

【作者】 (美)Stanley B.Lippman,Josée LaJoie,Barbara E.Moo

    【出版社】 人民邮电出版社

纵横书市十数年,c++最佳教本,c++百科全书代表。

本书是久负盛名的C++经典教程,其内容是C++大师Stanley B. Lippman丰富的实践经验和C++标准委员会原负责人Josée Lajoie对C++标准深入理解的完美结合,已经帮助全球无数程序员学会了C++。本版对前一版进行了彻底的修订,内容经过了重新组织,更加入了C++先驱Barbara E. Moo在C++教学方面的真知灼见。既显著改善了可读性,又充分体现了C++语言的最新进展和当前的业界最佳实践。书中不但新增大量教学辅助内容,用于强调重要的知识点,提醒常见的错误,推荐优秀的编程实践,给出使用提示,还包含大量来自实战的示例和习题。对C++基本概念和技术全面而且权威的阐述,对现代C++编程风格的强调,使本书成为C++初学者的最佳指南;对于中高级程序员,本书也是不可或缺的参考书。本书的前言阐述了 第4版和前一版的不同之处。

 

l         《Effective C++(第三版)中文版》 

【作者】(美)Scott Meyers,侯捷译

【出版社】电子工业出版社

通过50个编程实例,展示专家经验,行文有趣,深处浅出。

有人说C++程序员可以分成两类,读过Effective C++的和没读过的。世界顶级C++大师Scott Meyers成名之作的第三版的确当得起这样的评价。当您读过这本书之后,就获得了迅速提升自己C++功力的一个契机。

在国际上,本书所引起的反响,波及整个计算技术出版领域,余音至今未绝。几乎在所有C++书籍的推荐名单上,本书都会位于前三名。作者高超的技术把握力、独特的视角。诙谐轻松的写作风格、独具匠心的内容组织,都受到极大的推崇和仿效。这种奇特的现象,只能解释为人们对这本书衷心的赞美和推祟。

这本书不是读完一遍就可以束之高阁的快餐读物,也不是用以解决手边问题的参考手册,而是需要您去反复阅读体会的,C++是真正程序员的语言,背后有着精深的思想与无与伦比的表达能力,这使得它具有类似宗教般的魅力。希望这本书自瞄帮助您跨越C抖的重重险阻,领略高处才有的壮美风光,做—个成功而快乐的C++程序员。

本书一共组织 55 个准则,每一条准则描述一个编写出更好的 C++ 的方式。每一个条款的背后都有具体范例支撑。第三版有一半以上的篇幅是崭新内容,包括讨论资源管理和模板(templates)运用的两个新章。为反映出现代设计考虑,对第二版论题做了广泛的修订,包括异常(exceptions)、设计模式(design patterns)和多线程(multithreading)。

l         其他参考
《C++标准程序库—自修教程与参考手册》-----Nicolai M.Josuttis

《C++语言的设计和演化》-----------Bjarne Stroustrup“C++之父”

《深度探索C++对象模型》-------Stanley B.Lippman

《Essential C++中文版》------Stanley B.Lippman

《More Effective C++中文版>--------Scott Meyers

《C++程序设计》------------谭浩强 

《C++ 程序设计教程(第2版) 》--------钱能

《高质量C++编程指南》-------林锐------编程规范

《c++编程新思维》------- Andrei Alexandrescu 

《com本质论》-------- 潘爱民

《com原理与应用》 --------潘爱民

《stl源码分析》--------- 侯杰

3 操作系统原理与编程
l         《深入理解计算机系统(修订版)》 

【作者】[美]布赖恩特 等著,龚奕利,雷迎春 译

【出版社】中国电力出版社

所有想写出更快、更可靠程序的开发人员必读之书! AMAZON五星图书,最伟大计算机科学教材之一.卡耐基梅隆大学计算机学院院长,IEEE和ACM双院士倾力推出,超过80所美国和世界一流大学计算机专业选用本书为教材。 

看看指导教师们是如何评价这本书的:

“我坚信从程序员的角度来看计算机系统对教会学生计算机的内部结构非常有帮助。”——Kostas Daniilidis,宾夕法尼亚大学

“这本书讲述事物的方法与众不同,但是和我想要的课程进行方式类似。”——John Greiner,Rice大学

“这是一项出色的工作,是这一领域教学方法的一次革命。”——Michael Scott,罗切斯特大学

本书提供了大量的例子和练习及部分答案。尤其值得一提的是,对于每一个基本概念都有相应的笔头或程序试验,加深读者的理解。

本书适合那些想要写出更快、更可靠程序的程序员阅读。通过掌握程序是如何映射到系统上,以及程序是如何执行的,读者能够更好地理解程序的行为为什么是这样的,以及效率低下是如何造成的。粗略来看,计算机系统包括处理器和存储器硬件、编译器、操作系统及网络互联环境。而通过程序员的视角,读者可以深深地体会到学习计算机系统的内部工作原理会对他们今后作为计算机科学研究者和工程师的工作有进一步的帮助。它还有助于为进一步学习计算机体系结构、操作系统、编译器和网络互联打下基础。

本书的主要论题包括:数据表示、C程序的机器级表示、处理器结构、程序优化、存储器层次结构、链接、异常控制流、虚拟存储器和存储器管理、系统级I/O、网络编程和并发编程。书中所覆盖的内容主要讲述这些方面是如何影响应用和系统程序员的。例如,在讲述数据表示时,本书提出了用来表示数字的表示方法是有限的,它能够近似地表示整数和实数,但是这种表示方法是有限制的,程序员必须了解。在讲述高速缓存时,本书讨论了矩阵代码中的循环变量的顺序是如何影响程序的性能的。在讨论网络互联时,本书描述了并发服务器如何有效地处理来自多个客户端的请求。

本书基于Intel兼容(IA32)机器,在Unix或者相关的操作系统(例如Linux)上执行C程序。虽然书中包括了一些帮助读者将Java转化成C的提示,但还是要求读者对C或者C++有一定的了解。

本书被赞誉为价值超过等重量共金的无价资源宝库。

第一本将软件和硬件理论结合讲述的教程。

覆盖计算机导论、体系结构和处理器设计等多门课程。

经过大量学生使用,效果优秀,并获教师和学生一致推崇。

完善的教学网站,为教师和学生提供在线支持。

本书英文版久负盛名,被众多专业人士称为“最伟大的计算机教材”之一,著名的美国卡内基梅隆大学计算机科学系一直将本书作为教材使用,程序员眼中的透彻讲述计算机系统的扛鼎之作。作者Randal E. Bryant是卡耐基梅隆大学的计算机科学系主任,ACM和IEEE双院士(Fellow),其研究成果多次获得ACM和IEEE颁发的大奖。本书共分十三章,分别介绍了信息的表示和处理、程序的机器级表示、处理器体系结构、存储器层次结构、静态和动态链接、虚拟存储器、系统级I/O、网络编程和并发编程等精彩内容。其目的是解释计算机系统的所有本质概念,并向读者展示这些概念是如何实际地影响应用程序的正确性、性能和实用性。与其他主要针对系统构造人员的系统类书籍不同,这本书是写给程序员的,是从程序员的角度来描述的。本书为软件和硬件之间搭起了一个桥梁,它给出了一种帮助读者分别从硬件和软件的角度去理解一个程序及其行为的途径,这也填补了国内计算机系统教学中的一个空白。

本书的最大优点是帮助读者理解概念,让读者很清楚地在脑海中构造一个层次型的计算机系统,从最低层数据在内存中的表示(如我们一直陌生的浮点数表示),到流水线指令的构成,到虚拟存储器,到编译系统,到动态加载库,到最后的用户应用。本书提供了大量的例子和练习及部分答案。尤其值得一提的是,对于每一个基本概念都有相应的笔头或程序试验,加深读者的理解。

 

l         《Windows核心编程》 

【作者】 (美)Jeffrey Richter,王建华译

【出版社】 机械工业出版社

本书是讲解Windows 操作系统内部机制的专著,作者从基本概念入手,全面系统地介绍了Windows的各种基本构件,如进程、线程、DLL和内存管理等,并列举了大量应用程序,精辟地分析了构件的使用方法,为掌握Windows 编程技巧提供了一条有效的捷径。对于不同水平的Windows 编程人员来说,本书都具有极好的参考价值。

l         《深入理解Linux内核(第二版)》 

   【作者】(美)博韦,西斯特 著,陈莉君,冯锐,牛欣源 译

【出版社】 中国电力出版社

本书将引导你畅游Linux内核中使用的最主要的数据结构、算法和编程技巧,讨论了具体的Intel平台的重要特点。但是本书涵盖的内容绝不限于代码所起的作用,它还阐明了Linux为什么如此运作的理论基础。本书涵盖Linux 2.4,集中讨论的内容有网络、内存管理、虚拟文件系统层和第二及第三扩展文件系统、进程创建及调度、信号、中断及对设备驱动程序的主要接口、定时、内核中的同步、进程间通信、程序执行等。本书将使读者熟悉Linux所有的内在工作机制,但本书不仅仅是一种学术训练,读者还将知道什么样的条件使Linux产生最好的性能,以及Linux在各种环境下对进程调度、文件访问及内存管理期间提出的快速响应要求如何得以满足。

l         《UNIX环境高级编程(第2版)》 

【作者】(美)史蒂文斯(Richard Stevens),(美)拉戈 著,尤晋元,张亚英,戚正伟译

【出版社】人民邮电出版社

本书是被誉为UNIX编程“圣经”的Advanced Programming in the UNIX Environment一书的更新版。在本书第1版出版后的十几年中,UNIX行业已经有了巨大的变化,特别是影响UNIX编程接口的有关标准变化很大。本书在保持了前一版的风格的基础上,根据最新的标准对内容进行了修订和增补,反映了最新的技术发展。书中除了介绍UNIX文件和目录、标准I/O库、系统数据文件和信息、进程环境、进程控制、进程关系、信号、线程、线程控制、守护进程、各种I/O、进程间通信、网络IPC、伪终端等方面的内容,还在此基础上介绍了多个应用示例,包括如何创建数据库函数库以及如何与网络打印机通信等。此外,还在附录中给出了函数原型和部分习题的答案。

本书内容权威,概念清晰,阐述精辟,对于所有层次UNIX程序员都是一本不可或缺的参考书。

 

l         《自己动手写操作系统》 

【作者】于渊

【出版社】电子工业出版社

本书在详细分析操作系统原理的基础上,用丰富的实例代码,一步一步地指导读者用C语言和汇编语言编写出一个具备操作系统基本功能的操作系统框架。本书不同于其他的理论型书籍,而是提供给读者一个动手实践的路线图。书中讲解了大量在开发操作系统中需注意的细节问题,这些细节不仅能使读者更深刻地认识操作系统的核心原理,而且使整个开发过程少走弯路。全书共分7章。

本书适合各类程序员、程序开发爱好者阅读,也可作为高等院校操作系统课程的实践参考书。

l         其他参考
《Windows高级编程指南-》--------Jeffrey Richter“windows

《深入浅出MFC(第二版)》-------侯捷

《MFC Windows程序设计(第2版)》-------Jeff Prosise

《Windows WDM设备驱动程序开发指南》-----------Chris Cant

《Windows 2000/XP WDM设备驱动程序开发(第2版)》------------武安河

《Visual C++/Turbo C串口通信编程实践》------------------龚建伟

《80X86汇编语言程序设计教程 》------- 清华大学出的很好的一本书

《保护方式下的80386及其编程》------  John Crwaford ,Patrick Gelsinger

《硬盘扇区读写技术》-------  很薄,可以透切了解扇区等技术。 

《Intel微处理器结构、编程与接口(第六版)》---------Barry B. Brey

《Unix技术手册》-----(美)罗宾斯著张龙卿等译

《Linux内核完全注释》-----赵炯

《Linux内核分析及编程》---- 倪继利  

《GNU/Linux 编程指南(第二版)》------ (美)Kurt Wall 张辉译

《Linux设备驱动程序(第三版)》---- (美)Jonathan Corbet,Alessandro Rubini等

《Linux内核设计与实现(第2版)》---- (美)Robert Love 

《Linux技术手册》-------(美)西弗,陈莉君译 

4网络原理与编程
l         《计算机网络(第4版)(中文版)》 

【作者】Andrew S.Tanenbaum,Vrije Universiteit,Amsterdam

【出版社】清华大学出版社

这是一本伴随着网络一起发展与成长的书,原作四个版本分别对应了网络应用的不同阶段。在国内,第3 版中文版几乎成为一代人的网络必读之作。当您啃完这本书之后的收获是:就好像从门外走进了门内,那是一种拨开乌云见晴天的感觉。

本书是国内外使用最为广泛的计算机网络经典教材。全书按照网络协议模型(物理层、数据链路层、介质访问控制子层、网络层、传输层和应用层),自下而上系统地介绍了计算机网络的基本原理,并给出了大量实例。在讲述各网络层的同时,还融合进了近年来迅速发展起来的各种网络技术,如Internet、SONET、ADSL、CDMA、WLAN和蓝牙等。另外,针对当前计算机网络的发展现状以及计算机安全的重要性,本书用了一整章的篇幅对计算机安全进行了深入讨论。本书的适用对象很广泛。对于学习计算机网络课程的本科生以及研究生,本书都可以作为教材或教学参考书,每一章后面的大量练习题,可用于课程作业或者复习要点。对于从事网络研究、网络工程以及使用和管理网络的科研和工程技术人员,本书也是一本很有价值的参考读物。

 

l         《TCP/IP详解》  

【作者】W.Richard Stevens,范建华、陆雪莹译。

【出版社】机械工业出版社

   《TCP/IP详解,卷1:协议》是一本完整而详细的TCP/IP协议指南。描述了属于每一层的各个协议以及它们如何在不同操作系统中运行。作者用Lawrence Berkeley实验室的tcpdump程序来捕获不同操作系统和TCP/IP实现之间传输的不同分组。对tcpdump输出的研究可以帮助理解不同协议如何工作。本书适合作为计算机专业学生学习网络的教材和教师参考书。也适用于研究网络的技术人员。

   《TCP/IP详解 ,卷2:实现TCP/IP ILLUSTRATED VOLUME2》、

本书完整而详细地介绍了TCP/IP协议是如何实现的。书中给出了约500个图例,15 000行实际操作的C代码,采用举例教学的方法帮助你掌握TCP/IP实现。本书不仅说明了插口API和协议族的关系以及主机实现与路由器实现的差别。还介绍了4.4BSD-Lite版的新的特点,如多播、长肥管道支持、窗口缩放、时间戳选项以及其他主题等等。读者阅读本书时,应当具备卷1中阐述的关于TCP/IP的基本知识。本书适用于希望理解TCP/TP协议如何实现的人,包括编写网络应用程序的程序员以及利用TCP/IP维护计算机网络的系统管理员。

 

l          《UNIX网络编程2卷本(第三版)》 

【作  者】美)W.Richard Stevens,杨继张等译

【出 版 社】北京科海电子出版社

UNIX 网络编程 卷I 套接字联网API(英文版 第三版):

“每个人都会喜欢这本书,因为它提供了大量的实践经验、历史观点以及只有对此领域深入研究才能获得的深刻理解。我在阅读这本书的过程中获得了享受并学到了知识,相信你一定也会的。”----Sam Leffler

本书是一部UNIX网络API的经典之作!

  本书是为那些希望能够通过套接字接口实现程序间的相互通信的人而编写的,旨在为网络编程的初学者以及专家提供指导。要建立高度分布式、网络化的应用程序和服务,就需要对套接字和其他关键的网络API有深入的理解。本书为在各种环境下建立健壮的、高性能的网络系统提供了全面的指导。

  这个版本建立在W.Richard Stevens的传奇性工作的基础上,由两个最优秀的网络编程专家进行了完全更新。讨论了当今最关键的标准、实现和技术 讨论的新主题包括:

  ·POSIX Single UNIX Specification Version 3

  ·IPv6 APIs(包括更新了的对IPv6/IPv4互操作性的指南)

  ·新的SCTP传输协议

  ·基于IPsec的密钥管理套接字

  ·FreeBSD 4.8/5.1、Red Hat Linux 9.x、Solaris 9、AIX 5.x、HPUX和Max OS X实现

  ·新的网络编程调试技术

  ·源端特定的组播API,正是这个API使得IP组播开发被广泛使用

  本书还更新和扩展了Stevens对以下关键的UNIX网络标准和技术所做的权威性的概括:

  ·TCP和UDP传输

  ·基本的和高级的套接宇,路由的和原始的套接宇

  ·I/O:复用高级函数,非阻塞和信号驱动

  ·守护进程和inetd

  ·UNIX域协议

  ·ioctl操作

  ·广播和组播

  ·线程

  ·流

  ·设计:TCP迭代的、并发的、预先创建的和预先线程化的服务器.

    本书全面深入地介绍了如何使用套接口API进行网络编程。全书从对套接口API的综合讨论开始,论述了基本编程内容后,即转入高级套接口编程的相关主题,包括IPv4与IPv6的互操作性、UNIX域协议、非阻塞I/O、路由套接口、广播、多播、线程、原始套接口、数据链路访问等,对于客户/服务器程序的各种设计方法也作了完整的探讨,最后还对流这种设备驱动机制作了深入分析。在附录中给出了IPv6、ICMPv6、虚拟网络等内容以及部分习题答案。

本书内容详尽且具权威性,几乎每章都提供精选的习题,是计算机和网络专业高年级本科生和研究生的首选教材,本书也可作为网络研究和开发人员的自学教材和参考书。

UNIX 网络编程(第二版)第2卷:进程间通信:

  本书全面深入地讲述了各种进程间通信(IPC)形式,它们是几乎所有复杂精致的UNIX程序的性能之关键。从网络编程角度看,理解IPC也是理解如何开发不同主机间网络应用程序的必要条件。本书从对Posix IPC和System V IPC的内部结构的综合讨论开始,具体阐述并比较了四种IPC形式:消息传递(管道、FIFO、消息队列)、同步(互斥锁、条件变量、读写锁、文件与记录锁、信号灯)、共享内存区(匿名共享内存区;有名共享内存区)及远程过程调用(Solaris门、Sun RPC)。在附录中给出了测量各种IPC形式之性能的方法。 本书内容详尽且具权威性,几乎每章都提供精选的习题,是计算机和网络专业高年级本科生和研究生的首选教材。本书也可作为网络研究和开发人员的自学教材和参考书。

 

l         《Windows网络编程》   

    【作者】(美)Anthony Jones,Jim Ohlund,杨合庆译

【出版社】 清华大学出版社

 windows网络编程参考书,该书告诉你怎么在windows下使用api进行网络编程.要了解网络底层先看上一本再看下面一本吧。 

本书由权威专家编写,指导读者如何使用Windows XP的Winsock API和.NET套接字以及传统的Windows API编写网络应用程序。作为更新的编程指南,本书着重于Windows XP中革新的联网特性,同时包含了对C#编程语言的支持。本书还介绍了最新的网际协议:IPv4和IPv6,以及可靠IP多播协议。书中用大量的实例详细地描述了Microsoft网络API函数的应用,配套光盘也包含了所有的示例代码。对于在网络技术方面需要明确实用的Microsoft网络API信息的开发者,或是寻求Microsoft网络操作内部信息的管理员而言,这些内容都是较为理想的。对于在编程或工作中要用到当前的Microsoft或Internet联网软件的读者,本书也是很合适的学习和参考资料。

l         其他参考
《用TCP/IP进行网际互联》-----------Douglas E. Comer译者:林瑶 等译

《 高级TCP/IP编程》-------------------Jon C. Snader

《C++网络编程》-----------------------Douglas Schmidt

《C++网络编程,卷1:运用ACE和模式消除复杂性》

《C++网络编程,卷2:基于 ACE 和框架的系统化复用》 

5算法与数据结构
l         《算法导论》 

    【作者】(美)科曼(Cormen,T.H.) 等著,潘金贵 等译

【出版社】机械工业出版社

本书深入浅出,全面地介绍了计算机算法。对每一个算法的分析既易于理解又十分有趣,并保持了数学严谨性。本书的设计目标全面,适用于多种用途。涵盖的内容有:算法在计算中的作用,概率分析和随机算法的介绍。本书专门讨论了线性规划,介绍了动态规划的两个应用,随机化和线性规划技术的近似算法等,还有有关递归求解、快速排序中用到的划分方法与期望线性时间顺序统计算法,以及对贪心算法元素的讨论。本书还介绍了对强连通子图算法正确性的证明,对哈密顿回路和子集求和问题的NP完全性的证明等内容。全书提供了900多个练习题和思考题以及叙述较为详细的实例研究。

本书内容丰富,对本科生的数据结构课程和研究生的算法课程都是很实用的教材。本书在读者的职业生涯中,也是一本案头的数学参考书或工程实践手册。

本书以相当的深度介绍了许多常用的数据结构和有效的算法,使得这些算法的设计和分析易于被各个层次的读者所理解。

本书编写上采用了“五个一”,即一章介绍一个算法、一种设计技术、一个应用领域和一个相关话题。

本书深入浅出,全面地介绍了计算机算法。对每一个算法的分析既易于理解又十分有趣,并保持了数学严谨性。本书的设计目标全面,适用于多种用途。涵盖的内容有:算法在计算中的作用,概率分析和随机算法的介绍。本书专门讨论了线性规划,介绍了动态规划的两个应用,随机化和线性规划技术的近似算法等,还有有关递归求解、快速排序中用到的划分方法与期望线性时间顺序统计算法,以及对贪心算法元素的讨论。本书还介绍了对强连通子图算法正确性的证明,对哈密顿回路和子集求和问题的NP完全性的证明等内容。全书提供了900多个练习题和思考题以及叙述较为详细的实例研究。.

本书内容丰富,对本科生的数据结构课程和研究生的算法课程都是很实用的教材。本书在读者的职业生涯中,也是一本案头的数学参考书或工程实践手册。

在有关算法的书中,有一些叙述非常严谨,但不够全面,另一些涉及了大量的题材,但又缺乏严谨性。《算法导论》将严谨性和全面性融为一体。

本书深入讨论各类算法,并着力使这些算法的设计和分析能为各个层次的读者接受。各章自成体系,可以作为独立的学习单元。算法以英语和伪代码的形式描述,具备初步程序设计经验的人就能看懂。说明和解释力求浅显易懂,不失深度和数学严谨性。

本书自第1版出版以来,已经成为世界范围内广泛使用的大学教材和专业人员的标准参考书。第2版增加了论述算法作用、概率分析与随机算法、线性规划等几章。同时,对第1版的几乎每一节都作了大量的修订。一项巧妙而又重要的修改是提前引入循环不变式,并在全书中用来证明算法的正确性。在不改变数学和分析重点的前提下,作者将许多数学基础知识从第一部分移到了附录中,并在开始部分加入了一些富有诱导性的题材。

 

l         《数据结构与算法分析——C语言描述(原书第2版)》 

【作者】(美)Mark Allen Weiss

【出版社】 机械工业出版社

本书是《Data Structures and Algorithm Analysis in C》一书第2版的简体中译本。原书曾被评为20世纪顶尖的30部计算机著作之一,作者Mark Allen Weiss在数据结构和算法分析方面卓有建树,他的数据结构和算法分析的著作尤其畅销,并受到广泛好评.已被世界500余所大学用作教材。 

在本书中,作者更加精炼并强化了他对算法和数据结构方面创新的处理方法。通过C程序的实现,着重阐述了抽象数据类型的概念,并对算法的效率、性能和运行时间进行了分析。

全书特点如下: 

●专用一章来讨论算法设计技巧,包括贪婪算法、分治算法、动态规划、随机化算法以及回溯算法。

●介绍了当前流行的论题和新的数据结构,如斐波那契堆、斜堆、二项队列、跳跃表和伸展树。  

●安排一章专门讨论摊还分析,考查书中介绍的一些高级数据结构 。

●新开辟一章讨论高级数据结构以及它们的实现,其中包括红黑树、自顶向下伸展树。treap树、k-d树、配对堆以及其他相关内容 。

   ●合并了堆排序平均情况分析的一些新结果。

本书是国外数据结构与算法分析方面的标准教材,介绍了数据结构(大量数据的组织方法)以及算法分析(算法运行时间的估算)。本书的编写目标是同时讲授好的程序设计和算法分析技巧,使读者可以开发出具有最高效率的程序。本书可作为高级数据结构课程或研究生一年级算法分析课程的教材,使用本书需具有一些中级程序设计知识,还需要离散数学的一些背景知识。

l         其他参考
离散数学及其应用----------Kenneth H.Rosen

具体数学—计算机科学基础--------Donald.E.Knuth                     

数据结构 C++语言描述(Data Structures C++) -----William Ford,William Topp 刘卫东 沈官林 

数据结构算法与应用-C++语言描述------Sartej Sahni 汪诗林 孙晓东等

数据结构(c语言版)--------严蔚敏、吴伟民

算法艺术与信息学竞赛--------刘汝佳、黄亮

计算机程序设计艺术-------Donald.E.Knuth

6软件工程与软件技术类
l         《代码大全(第二版)》 

【作者】(美)迈克康奈尔(McConnell,S.) 著,金戈 等译

【出版社】 电子工业出版社

代码大全(第二版)是著名IT畅销书作者Steve McConnell十一年前的经典著作的全新演绎:第二版不是第一版的简单修订增补,而是完全进行了重写;增加了很多与时俱进的内容。这也是一本完整的软件构建手册,涵盖了软件构建过程中的所有细节。它从软件质量和编程思想等方面论述了软件构建的各个问题,并详细论述了紧跟潮流的新技术、高屋建瓴的观点、通用的概念,还含有丰富而典型的程序示例。本书中所论述的技术不仅填补了初级与高级编程技术之间的空白,而且也为程序员们提供了一个有关编程技巧的信息来源。本书对经验丰富的程序员、技术带头人、自学的程序员及几乎不懂太多编程技巧的学生们都是大有裨益的。可以说,无论你是什么背景,阅读本书都会让你在更短的时间内、更容易地写出更好的程序。

“代码大全是我早在好几年前便已经阅读过的好书。这几年来我不知买过多少书籍,也清理过许多因为书房再也放不下的书籍,但是代码大全这本书始终占据着我书架上重要的位置而不曾移开过,因为好书是经得起时光考验的。” 

—— Borland公司大中华首席技术官(CTO) 李维

“在众多的编程类书籍中,如果只让我挑一本书来阅读,那我一定选择《代码大全》,因为它是最不可或缺的。”

—— 《C++ Primer中文版(第三版)》译者 潘爱民

 

l         《深入浅出设计模式(英文影印版)》 

   【作者】(美)Elisabeth Freeman,Eric Freeman,Bert Bates,Kathy Sierra

   【出 社】东南大学出版社

你不想重新发明车轮(或者更差的是,没有充气车胎的轮子),所以你从设计模式中寻求帮助——设计模式是过去人们面对同样的软件设计问题所得到的经验。 有了设计模式,就可以利用其他人的实践经验的精华,因此省下的时间可以用在其他的事情上,如:更有挑战性的事情、更复杂的事情以及更有趣的事情。你想要学习:

·重要的模式 

·何时使用某个模式,为何使用该模式 

·如何在你自己的设计中马上采用这些模式 

·何时不该使用该模式(如何避免滥用模式) 

·某个模式是依据哪些面向对象设计原理而设计出来的

更重要的是,你想在学习设计模式的过程中,不感觉到昏昏欲睡。如果你曾经读过任何一本深入浅出(Head First)系列书籍,你就会知道能够从本书中得到的是:透过丰富的视觉效果让你的大脑充分地运作。本书的编写运用许多最新的研究,包括神经生物学、认知科学以及学习理论,这使得这本书能够将这些设计模式深深地烙印在你的脑海中,不容易被遗忘。你将会更擅长于解决软件设计中的问题,并能够和你的团队成员用模式的语言来更好地沟通。

 “我昨天收到了这本书,然后就开始阅读……我简直欲罢不能。酷毙了!内容相当有趣,涵盖层面很广,而且切中要点。这本书让我感到印象深刻。”

——Erich Gamma  IBM顶级工程师、《Design Patterns》作者之一

 “我感到读这本书的效果等同于读一千磅重的同类书的效果。”——Ward Cunningham
Wiki发明者、Hillside Group创始人

 “本书趋近完美,因为它在提供专业知识的同时,仍然具有相当高的可读性。叙述权威、文笔优美。”——David Gelernter,耶鲁大学计算机科学系教授
“这是我阅读过的最有趣且最聪明的软件设计书籍之一。”——Aaron LaBerge, ESPN.com技术副主席

 

l         《UML和模式应用(原书第3版)》 

【作者】(美)拉曼(Larman,C.)著,李洋 等译

【出版社】 机械工业出版社

本书是面向对象分析和设计(OOA/D)的实用指南,并且阐述了迭代开发相关方面的内容。如果你刚刚接触OOA/D,你将会面临如何掌握这个复杂主题的挑战;本书提供了一个良好定义的路标-统一过程,使你能一步一步地实现从需求到编码的全过程。统一建模语言(UML)已成为建模的标准表示法,所以熟悉UML将使你受益。本书用UML表示法教授了运用OOA/D的技能。设计模式表达了面向对象设计专家用于创建系统的“最佳实践”的习惯用法和方案。在本书中,你将学习如何应用设计模式,包括流行的GoF模式和GRASP模式。GRASP模式表达了对象设计中职责分配的基本原则。学习和掌握这些模式将加快你掌握分析和设计技能的速度。本书的结构和重点建立在作者多年教授和培训成千上万学生掌握OOA/D的经验之上,它提供了一个精炼的、已证明的和高效率的掌握OOA/D的学习方法,使你在阅读和学习上的投资得到优化。本书详尽地说明一个案例,以便实际地说明整个OOA/D过程,并深入讨论问题的棘手细节;这是一个实际的练习。本书还说明如何将对象设计工件映射成Java代码。本书适合于熟悉OOA/D但希望学习UML表示法、应用模式的读者,或者希望加强和提高自己的分析和设计技能的读者。

 

l         《重构——改善既有代码的设计(中文版)》 

【作者】(美)福勒 著,侯捷、熊节译

【出版社】中国电力出版社

    本书是软件工程领域的超级经典巨著,与另一巨著《设计模式》并称'软工双雄',全美销量超过100000册,亚马逊书店五星书。在本书中,作者Martin Fowler充分展示了何处可能需要重构,以及如何将不好的设计改造为良好的设计。

    看这本书时,一定要牢记实践才是硬道理,尤其对于初学者来说,更是要把一个个示例做一遍,只有这样才会真正理解本书中提到的一些技术,否则就是纸上谈兵,更不要说投入到实际的开发工作中。在做每个例子之前一定要把相关的章节看一遍,如果不看就实践,可能等示例做完了还是不明白为什么要这么做,这是十分忌讳的,我们不是为了实践而实践,而是为了理解技术而实践。另外在看本书时要举一反三,切不可拘泥于文字,否则仍然无法投入到实际开发中。

   《重构》是一本这样的书:也许你读完一遍之后将不会再读第二遍,但却会时时刻刻想起它,因为它已经潜移默化了你的习惯。如果你读完它之后觉得“我已经学会重构了”,很遗憾,你什么都没有学会。这时,也许你应该让自己平静下来,想一想“重构”这个词,再试着在自己的代码中做一点重构。直到有一天你已经完全忘掉这本书,却已经在随时对自己的代码进行重构,那时你才是真正“学会”了——不过那时你已经浑然不觉这回事了。

 

l         《程序员修炼之道》 

    【作者】(美)亨特,(美)托马斯 著,马维达 译

【出版社】电子工业出版社

本书于2004年3月18日获得2003年度Jolt效能大奖。

本书主要介绍了软件开发的原则和方法。本书直指编程前沿,透过日益增长的现代软件开发规范和技术,对软件开发的核心过程进行了审视——以满足用户为本,针对用户需求来产出高效、可维护的优秀代码。全书涵盖内容广博,从个人责任和职业发展,到保持代码灵活性并使之易于改动和重用,多而不杂。本书采用了有趣的轶事、详实的例子以及诙谐的对话等方式,描述了软件开发方方面面的最佳实践方案和各种缺陷。您从本书所学到的开发技巧、开发习惯以及职业态度,必将帮助您修炼成为一名真正的Pragmatic Programmer!

全球公认的经典!

程序员必读!

经典好书完美中文化!

名家倾力译作!

 

l         《敏捷软件开发——原则、模式与实践》 

    【作者】(美)Robert C·Martin 邓辉 译孟岩 审

【出版社】清华大学出版社

在这本书中,享誉全球的软件开发专家和软件工程大师Robert C.Martin将向您展示如何解决软件开发人员、项目经理及软件项目领导们所面临的最棘手的问题。这本综合性、实用性的敏捷开发和极限编程方面的指南,是由敏捷开发的创始人之一所撰写的。

  ·讲述在预算和实践要求下,软件开发人员和项目经理如何使用敏捷开发完成项目。

  ·使用真实案例讲解如何用极限编程来设计、测试、重构和结对编程。

  ·包含了极具价值的可多次使用的C++和JAVA源代码

  ·重点讲述了如何使用UML和设计模式解决面向客户系统的问题。

特色内容:

·讲述在预算和时间要求下,软件开发人员和项目经理如何使用敏捷开发完成项目。

·使用真实案例讲解如何用极限编程来设计、测试、量构和结对编程 

·包含了极具价值的可多次使用的C++和JAVA源代码。  

·重点讲述了如何使用UML和设计模式解决面向客户系统。

 

l         《解析极限编程——拥抱变化(第二版)(中英文对照)》 

   【作者】(美)贝克 著,雷剑文,陈振冲,李明树 译

【出版社】电子工业出版社

极限编程,通常称为XP,是一种针对业务和软件开发的规则,其作用在于将两者的力量集中在共同的、可以达到的目标上,使XP团队以可持续的步调生产优质的软件。本书是在《解析极限编程》第一版面世的5年之后,作者重新考虑,整理和重构XP的基础上写成的,也是作者不断参与软件开发项目的心路历程和对XP的许多新的深刻理解。

本书共分两部分。第1部分包括第1章至第16章,阐述了实现XP过程的方方面面;第2部分包括第17章至25章,内容着重于对XP的理解上升到哲学的高度来看待XP的生命力。
    本书配有中英文对照,语言通畅、富有实用性和可读性,适合于软件开发人员、软件项目管理人员、软件工程研究人员,以及广大电脑爱好者阅读并领略英文原文的风采。

l         其他参考
《面向对象软件开发教程(原书第2版-)--- Scott  W Ambler  

《面向对象方法、原理与实践(原书第3版)》----Ian  Graham   

《UML面向对象设计基础》---- Meilir  Page-Jones 

《测试驱动开发(中文版)》----Kent Beck

7移动开发与嵌入式编程
l         《Windows Mobile 平台应用与开发》 

    【作者】刘彦博,胡砚,马骐 编著

【出版社】人民邮电出版社

本书将主要介绍这些新的平台、工具和技术,以及如何利用它们来开发高效、强壮的移动设备应用程序。本书主要针对基于Windows Mobile 5.0的Pocket PC设备,但由于Windows Mobile 5.0能够无缝地应用于各种不同的硬件平台,因此本书中的绝大部分内容同样适用于基于Windows Mobile 5.0的Smart phone和其他移动设备。

本书适合的读者

为了更专注地介绍移动开发技术,本书未对.NET Framework和基于.NET的全新的编程语言——C#进行过多的介绍,因此,期望读者已经能够了解什么是.NET Framework以及如何用C#语言来开发.NET应用程序。

如果读者具有其他方面的.NET应用开发经验,如Web Forms应用程序或Windows Forms应用程序开发经验,将可以通过本书迅速地转移到移动应用开发领域,这是因为.NET Framework抹平了不同设备之间的差异,读者只需掌握少量移动设备所固有的特点和需要注意的问题即可。

如果读者之前已经具有移动开发经验,熟悉Windows Mobile 2002、Windows Mobile 2003和Embedded Visual C++或Embedded Visual Basic,也可以通过本书快速地走入Windows Mobile 5.0的世界,并将对托管环境有深入的了解。

本书的内容组织:

本书根据技术方向的不同,共划分为六大部分。

第一部分 平台和环境,这一部分简要介绍了Windows Mobile平台、.NET Compact 

Framework,这是一个移动应用程序得以运行的基石;另外,这一部分还介绍了用于在这样的平台上进行开发的最有效的工具——Visual Studio 2005。

第二部分 Mobile Web开发,主要介绍在B/S和C/S架构的应用程序中,如何利用.NET Framework来开发服务器端应用。

第三部分 Mobile客户端开发,主要介绍了在C/S架构的应用程序中,如何利用.NET Compact Framework来开发客户端应用,以及其中会遇到的一些问题和解决方法。

第四部分 数据访问技术,首先介绍了.NET中全新的数据访问模型——ADO.NET,然后分别介绍了如何远程访问服务器数据库中的数据和本地数据库中的数据,以及本地数据如何做到与服务器同步等问题。

第五部分 无线网络访问技术,主要介绍了如何使用移动设备所特有的网络技术,包括收发短消息、彩信和E-mail等。

第六部分 安全,主要介绍了Windows Mobile平台所特有的安全特性,以及如何利用这些特性和.NET中提供的相关API来开发安全的移动设备应用程序。

 

l         《J2ME 手机游戏开发技术详解》 

   【作者】李振鹏,龚剑 编著

【出版社】清华大学出版社

本书分为4篇:起步篇、基础篇、进阶篇和实战篇,循序渐进地讲解了如何使用J2ME开发无线应用。本书详细讲解了J2ME的图形用户界面、游戏线程、记录存储、通用联网架构等基础知识,还在以往MIDP 1.0的基础上增补了2.0的新内容,并对这些新技术加以详细介绍,这些技术包括高级用户界面的新组件、GameAPI游戏开发包、新增网络API和Push技术及3D技术。在介绍完基础知识之后,本书最后介绍了手同游戏的精彩实例,包括单机游戏、联网游戏、3D游戏、滚屏游戏等,还介绍了游戏的开发理念和移植技术。

本书内容全面,实例丰富、易于理解,为读者更地使用这些技术和标准进行工作而提供了很好的指导。本书既有简单易懂的代码片断,也有大量实际可用的应用系统实例,为读者迅速掌握J2ME的核心API类库及无线应用系统的开发过程提供了很好的参考,是从事无线应用系统开发人员的优秀教材和参考书籍。

 

l         《Symbian OS C++手机应用开发——移动开发系列丛书》 

   【作者】(美)哈里森 著,周良忠 译

【出版社】人民邮电出版社

本书介绍了用Symbian OS C++进行手机开发的各方面知识。

全书共分4部分,每一部分的第一章描述一个教学示例程序,其后各章根据这个例子提出的问题展开讨论。第1部分(第1~3章)简单介绍了Symbian OS。第2部分(第4~8章)解释了创建简单GUI(图形用户界面)应用程序所需的基本类、资源、API和编程约定。第3部分(第9~15章)介绍了编写重要独立应用程序的相关知识。第4部分(第16~20章)介绍了系统编程、通信和事件处理的相关知识。附录部分给出了示例项目、开发资源,以及和仿真器相关的有用信息。

本书适用于所有Symbian OS手机开发人员以及相关的管理人员。

 

l         《嵌入式Linux系统开发技术详解-基于ARM 》 

【作者】孙纪坤,张小全 编著

【出版社】人民邮电出版社

本书以嵌入式Linux系统开发流程为主线,剖析了嵌入式Linux系统构建的各个环节。本书从嵌入式系统基础知识和Linux编程技术讲起,接下来说明了嵌入式Linux交叉开发环境的建立,然后分析了嵌入式Linux系统的引导程序、内核和文件系统三大组成部分,最后介绍了嵌入式Linux系统集成和部署的方法。本书使用的嵌入式Linux系统软件全部来源于开源站点,文中提供了具体的链接地址。本书主要以ARM平台为例,对U-Boot和Linux内核启动过程做了详细分析,为学习嵌入式Linux系统开发奠定基础。本书从概念上阐述了嵌入式Linux系统开发流程,实践上提供了具体的操作步骤,使读者能够深入理解嵌入式Linux系统构建。

本书可作为高等院校电子类、电气类、控制类等专业高年级本科生、研究生学习嵌入式Linux的教材,也可供广大希望转入嵌入式领域的科研和工程技术人员参考使用,还可作为广大嵌入式培训班的教材和教辅材料。

 

l         《C语言嵌入式系统开发》 

【作  者】[美]Michael J.Pont,陈继辉译

【出 版 社】中国电力出版社

有人说现在日常生活中使用的嵌入式系统和地球这个行星上生活的人—样多。家用电器从洗衣机到电视机、摄像机以及移动电话。现在都包含至少—个嵌入式处理器。在许多汽车、医疗、航天以及军事系统中它们也是重要的组成部分。因此,对具有“嵌入式”技能的编程者的需求大增,而且许多微机开发者正转向这个领域。许多编程音有微机上使用C、C++或Java的经验,想要应对嵌入式系统特有的挑战,就需要学习所要求的技能。

本书就是为这些编程者设计的。

本书及所附光盘包括下列主要特征:

光盘上有通用的8051微控制器芯片的Keil硬件仿真器,因此读者能够试验本书中的例程,并且创建新的程序,而不需要其他的硬件。

所有的代码都是用C语言写的,所以不要求会使用汇编语言。光盘上包括有来自Keil公司的软件业界标准的C语言编译器,还有本书例程代码的拷贝,便于你很快入门及运行起来。

所有嵌入式系统中部需要的关键的方法技巧都详细地包含在内,包括端口管脚的控制以及开关的读取.介绍了一个完整的嵌入式操作系统。光盘上有全部的源代码。

 

l         《BREW 技术开发与应用》 

【作者】 李贺,尹强国,蒋亮 编著

【出版社】 机械工业出版社

本书循序渐进地讲解了如何使用无线二进制运行环境(BREW)开发无线应用。本书详细讲解了BREW的系统架构、事件处理、图像处理、声音处理、持久性存储等基础知识,并对高级用声界面接口和低级用户界面接口、ISprite游戏引擎、网络数据处理和网络浏览骼,技术、定位技术、安全技术、资源的使用以及游戏的优化做出了详细的介绍。在本书最后,给出了手机应用的商业级源码,包括网络图片下载、大场景动作类游戏和缓冲技术实现的坦克大战游戏等,并对手机应用的开发理念和注意问题做了细致的介绍。附录中对扩展BREW接口和使用C++开发BREW应用也做出了详细的介绍。

本书内容全面、易于理解、实例众多,为读者更好地使用这项技术和标准进行工作提供了很好的指导。书中既包含了简单易懂的代码片断,也有大量实际可用的商用级源码实例。读者可以迅速掌握BREW的核心技术以及应用的开发过程,对于其他移动平台的程序开发人员也具有重要的参考价值,是从事无线移动应用开发人员不可多得的参考教材和参考书籍。

 

l         《短信与BREW开发技术及实践》 

    【作者】 郭金发 张龙

    【出版社】西安电子科技大学出版社

本书通过由浅入深、从易到难的方式介绍了手机平台的开发过程。为了让读者对目前出现的新概念、新术语有所了解,本书首先从计算机网络的基本概念讲起,接着介绍了无线局域网、SMS系统、WAP和Winsock编程方面的基本知识,然后全面讲解了手机平台的相关开发过程。内容主要包括字符集编解码、SMS加密、串口收发SMS详解与示例:CMPP协议用VC++类的形式进行解析的过程,SGIP协议用VC++ATL详解与实例;BREW基础用BREW进行手机动画和音乐的开发过程,用BREW进行手机网络开发详解,手机内存管理,手机BREW游戏实例讲解。通过对各个章节的学习,可以使读者达到能独立开发手机(多媒体)短信平台的能力。

本书内容丰富、新颖,具有较高的实用价值,适合高校学生和从事电信增值系统的开发和维护人员,手机游戏开发人员以及传统软件开发人员参考与使用。

l         其他参考
《深入brew手机游戏开发》-----朴佳俊、张海翔、陈天洲。

《嵌入式系统设计与开发实例详解——基于ARM的应用》-----胥静。

《嵌入式实时操作系统及应用开发》----罗蕾

《ARM体系结构与编程》------ 杜春雷

《嵌入式系统Windows CE 开发技巧与实例》----傅曦

8 其他相关类
l         《Perl语言入门(第四版)(中文版)》 

【作者】(美)Randal L.Schwartz;Tom Phoenix;brian d foy

【出版社】 东南大学出版社

《Perl语言入门》也就是大家所称的“小骆驼书”,是启发程序设计人员关于Perl的奥秘之道的一本书。本书由3位在Perl社区中极负盛名的人物共同执笔,他们都有数年教授Perl的经验而且足迹遍布全世界。本书第四版纳入了Perl语言直到Perl5.8所做的最新变动。

Perl是一个能让你把事情做好的程序语言。Perl最初是Unix系统管理员的工具,平日用来处理无数繁琐的事务。时至今日,Perl已发展成一套功能齐备的程序语言,横跨所有的操作平台,其用途虽包括Web程序设计、数据库操作、XML处理以及系统管理,却仍不失为日常用来处理繁琐事务的完美工具。许多人是迫于需要而使用Perl,却往往由于爱不释手而结下不解之缘。

在作者群多年教授Perl的经验之下,“小骆驼书”以新的面貌重生了,既能让初次接触Perl的读者容易理解,又保留了翔实的讨论、齐全的范例以及著名的巧思妙语。

本书加入了许多新的习题与解答,让读者能够趁记忆犹新之际锻炼所学到的技巧。

本书内容涵盖:

● Perl的变量类型

 ● 文字的处理

● 子例程

● 字符串与排序

    ● 文件的操作

    ● 进程的管理

    ● 正则表达式

    ● 模块的使用

    如果你问今日的Perl程序员,当初他们学习Perl的时候最值得信赖的参考书是哪一本,你会发现“小骆驼书”就是绝大多数的答案。原因不证自明,其他的书也许会教你如何写出Perl程序,但本书却能将你造就成真正的Perl程序员。

 

l         《精通正则表达式 第二版(英文影印版)》 

【作者】 (美)Jeffrey E.F.Friedl

【出 版 社】东南大学出版社

本书的主题包括:

· 多种语言和工具不同版本之间的特性比较

· 正则表达式引擎的工作机制

· 优化(提供主要方法)

· 如何精确匹配

· 针对特定语言的探讨

正则表达式是一种用来操作文本和数据的强大工具。近年来,它们快速广泛传播,并被多种流行工具和语言作为标准特性提供,如Perl、Java、VB.NET、C#(及任何使用.NET框架的语言)、PHP、Python、Ruby、Tcl、MySQL、awk、Emacs等。如果还未使用过正则表达式,从本书中您将发现一个掌控数据的全新世界。如果使用过它们,您将会充分意识到本书空前的深度和广度。如果您认为自己已经掌握了所有需要掌握的正则表达式知识,本书将让您大开眼界。尽管正则表达式具有易用、灵活、功能强大的优点,但我们往往未能充分利用它们。正则表达式可以将那些原本复杂且繁琐的文本处理过程变成可自动处理的工作。正则表达式能够为您节省时间、减少烦恼。它们可以用来为大量问题编制出一流的解决方案。正则表达式是一项重要技术。然而,在专家手中强大的工具同样会因为使用上的不慎而带来危险。《精通正则表达式》能够帮助您跨越雷区,成为专家。一旦掌握了正则表达式,它们将成为您的工具箱中极其重要、不可或缺的一部分。《精通正则表达式(第二版)》已被全面更新,涵盖了Perl 5.8及其他诸如Java、VB.NET、C#、Python、JavaScript、Tcl、Ruby等语言提供的全部新特性。本书用明晰、轻快的文笔,将原本复杂、乏味的主题清楚明白地展现在数以千计的程序员面前,并辅以一些真实世界中复杂问题的解决方案。《精通正则表达式》提供了大量可供直接使用的信息。

 

l         《无线通信原理与应用 第二版(中文版)》 

   【作者】(美)Theodore S. Rappaport,周文安、付秀花、王志辉等译。

   【出版社】电子工业出版社

本书是一本高等学校无线通信课程的权威教材。全书深入浅出地讨论了无线通信技术与系统设计方面的内容,包括无线网络涉及的所有基本课题(特别是3G系统和无线局域网),并且讲解了无线网络技术的最新发展和全球主要的无线通信标准。全书共分为11章,集中讨论了蜂窝的概念、移动无线电传播、调制技术、多址技术及无线系统与标准,并结合理论对无线通信系统的各个方面进行精辟的论述和统计分析。本书的语言生动、流畅,并以详细的讲解和实际的例子来阐明重要的知识点。

本书适合作为通信工程和电子信息类相关专业高年级本科生和研究生的教材,并对有一定通信理论基础的工程技术人员和也有很好的参考价值。

这是一本关于无线通信技术和系统设计方面权威的最新教材。本书自第一版出版以来,就被世界上包括国内的多家大学采用为教材。本书内容涉及影响所有无线网络的基本问题,探讨了全球主要的无线通信新标准和技术发展,并提供了未来几年将改变人类通信方式的3G系统和无线局域网(WLAN)方面的内容。作者对每一个关键概念都给出了实用的例子,并逐步加以讲解。本书的主要内容有:

·关键无线技术的概述:话音系统、数据系统、无绳系统、寻呼系统、固定和移动宽带无线系统等。

·无线系统设计基础:信道分配、切换、中继效率、干扰、频率复用、容量规划、大尺度衰落等。

·路径损耗、小尺度衰落、多径、反射、绕射、散射、阴影、空时信道建模以及微蜂窝/室内传播。

·调制、均衡、分集、信道编码和语音编码。

·无线局域网的新技术:IEEE 802.11a/b、HIPERLAN、BRAN等。

·新的无线空中接口标准,包括W-CDMA、cdma2000、GPRS、UMTS和EDGE。

·蓝牙技术、可穿戴计算机、固定无线和本地多点分布服务(LMDS)以及其他高级技术。

·更新的缩略语表和全面的参考书目列表。

·大量的新实例和章末练习。

无论你是通信/网络专业人士、经理人、研究人员还是学生,本书都可以让你对发展中的无线通信技术有全面而深入的理解。

l         其他参考
《CDMA空中接口技术》------ 孙宇彤。

《信号与系统(第二版)》----- Alan V. Oppenheim,刘树棠译。

《CDMA2000 1x EV-DO网络技术》----张智江 刘申建。

待续……~-~

你可能感兴趣的:(编程好书推荐)