首页 > 技术文章 > 一些经典书目【转】

gates 2014-02-14 10:04 原文

这是从网上看到一片文章,里面提到好多很好的书籍,就摘下来啦,以后有空把里面的一些书找来看看.

3。“十分有用”的,它们是:“程序设计”、“数据结构”、“操作系统原理”。这三门课,我觉得是整个大学四年最有用的三门课了,而且是直接的有用。“程序设计”,在我们的课表上全称叫做“C++程序设计”,其实就是教会你使用一门高级语言,重要性不言而喻;而且学到后面,比如在学“编译原理”的时候,讲到各种词法分析方法时它就会用C++(我看的那本书用的是C++)来写一些例子,再接着讲,也就是说“程序设计”这门课同时也是用来学习后面很多的课程的工具。“数据结构”可以说是“编程整件事”要使用到的核心技术之一,必须要很好的理解、完全掌握这门课。“操作系统原理”包括了很多东西,都应该很好的掌握,比如“进程和线程”的基础知识如果你掌握的不好,那你以后编“多线程”程序的时候就会碰到很多麻烦;而且,只有理解了操作系统,才有可能编好应用软件,道理很简单,所用的应用软件都必须运行在操作系统之上,都必须调用它的功能。

  对于这三门课,最好不要看国人写的教材。“操作系统原理”建议看《操作系统:设计与实现》(第二版),作者Anderw S.Tanenbaum等。此书中译本分上下两册,上册为原理,下册为Minix操作系统的源代码,上册必看,下册根据各人情况有选择的读一些也是好的。“数据结构”建议看《数据结构——C++语言描述》,作者William Ford等,但是裘宗燕的一本《数据结构——C++与面向对象的途径》也还行,如果你们学校用它做教材的话,那你勉强看看也就凑合了。至于“程序设计”,书太多了,《The C++ Programming Language》、《C++ Prime》、《Thinking In C++》、《Thinking In Java》都是好书。另外,说到这里,不得不提到一个问题:以前经常看到有人争论一个问题,就是C++、Java、(现在又多了一门C#)这三种语言到底哪种好?我们应该学习哪一种?这其实是一个无聊的争论,因为它们的80%都是相同的,所以你用“用来争论的这点时间”已经可以在“掌握它们其中之一”的前提下学完另外的两种了,等你精通了这三门语言后,也就不屑于这种争论了,语言本身只是表现思想的一种手段罢了,它们是何等的容易学习!

4。“有用”的课。这些课,不能算是“直接的有用”,也就是说,它们的很多内容你过几年也许就忘得差不多了,竟然也不会影响你当前的工作。但是,它们是铺垫,是基石。对于这些课,我们的态度应该是,注重基本概念,做到“弄清楚大致的框架”就可以了,但可以忽略不必要的细节(但也许考试的时候会考到一些细节,那你就自己看着办了)。。这些课是:“微机系统与汇编语言”、“计算机组成原理”、“计算机网络”、“软件工程”、“数据库原理”、“计算机接口原理”、“编译原理”、“计算方法”、“离散数学”。“汇编”还是有用的,它是你理解和学习“计算机组成原理”和“计算机接口原理”的钥匙。“计算机组成原理”和“计算机接口原理”其实是给你讲一遍计算机的硬件结构,比如CPU内部是怎么回事,它是怎么计算和缓存的,DMA传输方式是怎么样的等等,弄清楚(或者说曾经弄清楚过,毕竟它们的很多东西你以后会慢慢忘记的)这些东西心里会感觉比较有底。“计算机网络”感觉上和实际的网络编程联系不大,也是为你解释了一些原理性的东西,看了心理比较有底:)。另外“数据库原理”除了讲一些原理以外,一般还会教你SQL语法,其中最难的是各种“查询”语法了,但是到了实际用的时候你会发现,这些是不必要的,一般的“复杂查询语句”都有工具可以自动生成的,不用你自己写的,所以对此你不必担心。“软件工程”其实作为一个本科生来说是不可能很好的理解它的,它必须要有很多实践经验以后,才能体会其中的一些道理,而且国内的“软件工程”教材一般都比较“教条主义”,建议浏览一遍即可,知道个大概,了解一下大型软件的开发流程是怎么样的,就可以了(并且也是需要的),至于其中的诸多概念,重在理解,能理解多少就理解多少,千万不要去“背”,没有用的。“计算方法”这门课现在可以说是实用价值剧减,因为基本上所有的算法都有现成的程序库可以调用的,所以大概了解一下就行了,真到要自己开发算法的时候,不管你当时学得再好,肯定还要回过头来看这些书的,因为这之间你根本不曾使用过它们,早忘记了。至于“编译原理”有人认为它很重要,我认为做个了解,大致上知道是怎么回事就行了,因为你不太可能会去开发一个编译器,但是在实际中用到的机会也是有的,比如我有一次编程时就需要用到“编译原理”的知识来做一个“词法分析程序”,用来处理用户输入的函数表达式,再调用几个库函数来做定积分,但总的来说“编译原理”只对很有限的一部分程序的编写起到了实际的作用,所以,先了解一下,等到用时,再来细看。“离散数学”是前面提到的“数据结构”的理论基础,如果“离散数学”学得好,理解“数据结构”会更容易些,所以还是花点时间看看吧。

  推荐一本书:《编译原理及实践》,作者Kenneth C.Louden,此书附录中有一份Tiny语言编译器的源代码,对照着前面的理论来看就不会像清华版的《编译原理》那样不知所云(我们当时用的就是这本教材,后来我去买了Kenneth C.Louden的《编译原理及实践》来看,很多问题才豁然开朗)。
  另外,我想说的是,“软件工程学”其实现在才处在一个初级的发展阶段,CMM、XP等等的理论打得不可开交,各说各的理,几乎达到了互相对骂的程度。作为一个初学者,特别是“实践经验缺乏”的初学者,我建议你对各种理论多了解,注意我指的是“了解”,不是去“背”其中的条条框框,当你了解了大多数现在的主流软件工程思想以后,就会形成你自己的比较客观的思想了,当然还需要结合一些实践的经验,这是以后的事了。至于看哪些书,太多太多了,自己去找吧。

5。“不太有用”的。其实说这些课“不太有用”已经是客气的了,它们其中的一些其实就是“没用”。这些课是:“自动控制原理”、“通信原理”、“电路原理”、“数字电路原理”、“模拟电路原理”、“复变函数与积分变换”、“线性代数”、“概率论与数理统计”、“高等数学”。其中,“自动控制原理”和“通信原理”我感觉和实际的编程相差得实在是太远了,我学过它们可是现在全忘了,也不影响我现在的任何东西。“电路原理”、“数字电路原理”、“模拟电路原理”这三门课讲起来也是计算机学科的基础课,我只觉得“数字电路原理”对于理解比如“计算机组成原理”和“计算机接口原理”这样的课还有一些帮助,但是另两门课,我实在发现不了它们到底有用在哪里,比如“模拟电路原理”主要是教你“三极管的内部构造”之类的东西,如果你觉得这也属于“必须要掌握的东西”的话,那我也无话可说。另外,“复变函数与积分变换”是“数字图象处理”(这是一门研究生课程)的基础,如果以后想到Adobe去工作的人,还是应该趁早学好它们,但是除此以外,好像也是别无他用。“线性代数”、“概率论与数理统计”和“高等数学”我倒觉得是属于所谓的“素质”了,这些东西不懂好像就说不过去了,但是要懂到什么程度,各人自己看了。另,“高等数学”也是“复变函数与积分变换”的基础。

6。英语。这门课很特殊,很有用,总之一句话,现在学好了以后绝对不会后悔。:)

 


二。关于课外的学习

  首先我想说的是,如果有志以后成为“优秀的程序员”的人,应该从大学就开始自己的“课外自学”了,这是很必要的,否则你会一开始就落在别人后面。另外,不要以为“所有的基础课都学得十分的好了”就可以“用比别人短得多的时间来学会各种实际的编程技术”。

(还有,我想说明的是,我只了解Windows编程,Linux我不懂。所以你以后如果立志于Linux领域的,我下面的文章对你不会有多少帮助)

1。主线。

  作为“主线学习”。我建议这样进行:首先看这两本书:《Windows 程序设计》(第五版),作者Charles Petzold;《Windows 核心编程》(第四版) ,作者Jeffrey Richter;毫无疑问,此两本书必看!否则你永远也不可能成为一个专业的、高级的程序员(我指Windows程序员)。另,看《Windows 核心编程》以前需要有“操作系统原理”的基础。同时,如果学的是C++(在目前,C++在中国仍然是使用最广泛的编程语言),只看看你们的教材是肯定不够的,除了上面说的《The C++ Programming Language》等书(挑一本看就够了)以外,还应该看看《Effective C++ 中文版》,作者Scott Meyers。接下来,我建议你不要去学MFC了,它已经过时了,而且确实不太好用,我回想起当年学MFC的情景,总是觉得付出和得到不成正比。这时候可以去学“.NET”编程了,先学一下C#的语法(Tom Archer的《C#技术内幕》还算不错),你会发现它极容易,可以飞速的看完,因为你已经有了很好的C++基础了。然后再找一本比较全面介绍“.NET”的书看起,现在的话,我觉得《.NET 程序设计技术内幕》是个不错的选择,作者Jeff Prosise。我这里不是说学“.NET”就看这两本书就OK了,但是作为一个“学生”,能看到这里就不错了(当然你要是觉得还不够的话可以去看看Jeffrey Richter的《Applied Microsoft.NET Framework Programming》)。还有,在学习各种编程技术期间编一些自己的小程序是必不可少的,不然的话,你会学什么忘什么。最后,再有时间的话,学一学“设计模式”(它其实很重要的,而且慢慢的你会觉得它越来越重要),书蛮多,《设计模式》值得推荐(作者Erich Gramma等),它是“设计模式”类书籍的宗师,很不错的书,“设计模式”也是要一些实践经验作铺垫的,因此你可能不能完全的理解它。

2。支线。

  作为支线,也就是说我觉得它们相对次要些。并且学习它们可以不分先后次序,但是,我还是建议先看完上面说的前三本书(《Windows 程序设计》、《Windows 核心编程》、《Effective C++ 中文版》)以后再来学下面的东西。

  “Java”。。把“Java”作为支线一定会引起很多人的不满,或者说是愤慨,当然,你也可以把它作为主线来学,用来替代上面说的“.NET”。可是根据我自己的体会,“.NET”拥有更多的优势,如果你不同意我的观点,当然可以去学“Java”,没问题。但是作为一个“初学者”,我还是建议你两样都学一下,这样自己才能有比较,才能为自己的将来选择一条更适合自己的“技术路线”。另外,时间还是多的(主线中才提到了六本书),而且,我这里说的“学Java”只建议你看一本书:《Thinking in Java》,这本书可以说是入门的绝佳选择,至于以后怎么继续学习“Java”,可以去看看蔡学庸在CSDN上的专栏文章,里面讲得很详细了。

  “网络编程”。。这个东西我想很多人都是比较向往的。我建议如果想做到对网络编程“比较精通”的话,应该去看看《Windows 网络编程技术》(第二版),作者Anthony Jones。这本书和上面讲的《Windows 程序设计》属于同一个技术层次,都是用“Windows API”直接编程,学这类东西的好处是能使你不仅“知其然”而且“知其所以然”。但是,如果立志要学“Java”的,也可以跳过这本书,直接看《Java Network Programming》,是O'Reilly的书,作者我忘记了。至于“.NET”方面,我还没发现专门讲网络编程讲得特别好的书,自己去找找吧。(其实一般的“.NET”书籍中已经有大量关于网络编程的内容了)

  “COM”。。“以前的学习方法”是先看《深度探索C++ 对象模型》,作者Stanley B.Lippman;再看《COM 本质论》(作者Don Box)的前面两章,然后看《COM 原理与应用》(作者潘爱民),再回过头来看《COM 本质论》的后面部分。《COM 本质论》的前面两章讲得极好,它用最能让人理解的方式讲述了“什么是COM”,但这本书的后面部分比较晦涩,如果没有一点实际的“COM程序编写经验”,就很难理解了,所以我提到这里要插进来看一看潘爱民的《COM 原理与应用》。但是,这里有一个问题,《COM 原理与应用》里的应用部分使用的是MFC和ATL(抱歉我又提到了这些过时的东西,我只是对它们太熟悉了),我前面曾建议大家不要去学MFC了,于是产生了矛盾,请恕我无知,在当前的情况下,我不太能肯定要怎么学习“COM”才是最有效的,这里我确实不能给大家“更新的方法”了。但是现在随着“.NET”的推进,“COM”的生存空间似乎是越来越小了,因此“到底要把COM学到什么程度”也几乎成了“到时候看情况再说”的问题了。但是,我觉得无论如何了解一下“COM的基本思想”还是能带来莫大的好处,它太经典了!也就是我上面说的《COM 本质论》的前面两章。

  “DDK”。。所谓“DDK”就是“设备驱动程序”,这属于一个相对冷僻的方面,但事实是“正因为它冷僻,所以这方面的技术人员的收入还是不错的”,但是“DDK”的知识对你学习别的很多东西(比如“.NET”、“Java”)都不会带来任何的帮助,它比较独立。所以我的建议是“在你还没有能力确定以后自己的专攻方向时,不要去学它”,因为它实在也不太好学。我对它只是略知一二,所以也只能说到这里就作罢了。不过可以给你推荐一本书:《Programming Microsoft Windows Driver Model》,(作者Walter Oney)。

  好了好了,再下面就绝对要超出“初学者”的范畴了。其实学到这里,再加上你已经积累了一定的实际经验了,那下面再要学些什么,路要怎么走,就一定会有自己独立的想法了。我就不再废话了。

 


三。几个初学者要注意的问题

1。无论在学基础课的时候,还是在学实际的编程的时候,都是重在理解,千万不要死记硬背。比如上面说的“软件工程”就是最好的例子。有一次,我碰到两个人正在讨论MFC,“甲”说:“我觉得MFC真是复杂,这么多的类和方法,根本不知道怎么去学。”这时“乙”表示他也有同感,但是已经找到了学习的方法,于是“乙”很诚恳的对“甲”说:“其实有时候还是要背一些东西的,你可以去买一本中文版的MFC类库手册,天天背,天天记,慢慢的就好了。”。我当时从旁边走过,打了一个冷颤。。对于MFC这种东西,除了理解还要多用,很多东西自然就记住了,当然这么多的类和函数还是没能记住它们的确切名字和用法,但是别着急,你已经知道了有哪些类和方法大概是存在的,所以真到用的时候再到“MSDN”里去找呗,怕什么呢。

2。我前面提到了《Windows 程序设计》和《Windows 核心编程》这两本书是必看的,它们都是在介绍基于“Win32 SDK” 平台(或者说是接口)的编程,也就是用“Windows API”直接编程,这是一种十分底层的Windows编程方法。就今天来说,学习“Win32 SDK”编程的意义更大的在于“使你能够更彻底的理解基于它们之上的、包装得更好的、更易于使用和效率更高的各种技术,以便能更好的使用它们”,比如“MFC”、“.NET”等等。如果你一定要在实际的开发中也直接用“Windows API”来编程,无疑是自讨苦吃。因此,我们要鼓励使用各种开发效率更高的工具,当然,理解“Win32 SDK” 平台的编程能在你使用这些高级工具的时候给你带来巨大的好处。“网络编程”也是同理,我上面提到的那本《Windows 网络编程技术》也是基于Winsock(它是Win32 SDK的一部分)的书,实际编程的时候,你也许不太会直接去用它。

3。实践很重要。这个道理是很明显的,比如C++的语法,如果你不去用它的话,就算你当初能把整本书都背下来,到了大四的时候肯定也忘得差不多了。用的过程其实就是熟悉的过程,在用的时候可能会发现自己某一个细节怎么又想不起来了,没关系,正常的,再拿来书翻开看看,如此反复几次也就记住了。

4。坚持很重要。这里有一个前提,就是“你是真的对编程很有兴趣”,如果确实如此,那不用说你也会去不断的学习的。但如果不是这样,那就很糟糕了,就像我开头的时候提到的那个人,他就是“实在对编程没兴趣呀”,所以一直工作的很辛苦,感到身心疲惫,还总是落在别人后面,现在终于不得以该行去作“信贷”了。

5。关于“高级程序员”考试。这个考试其实是名不副实的,他分上午场和下午场,上午考一些基础概念,也就是上面提到的那些本科课程中比较重要的几门课,考试难度和形式都和你们的期末考试差不多,下午考编程,其实就和你们的“程序设计”期末考试最后的几道编程题差不多。一句话,考的是很理论的东西,死读书的人一般都能通过的:)。如果你了解到你以后要去应聘的公司对这张证书比较看重的话,那就花一些时间去复习一下以前的课程,去拿一张证书,像我的两个去当公务员的同学居然也都通过了这个考试。但是如果这张证书不是你就业的前提的话,我建议你不要在这上面花时间了,因为它太简单了,对提高你的实际水平没有帮助的。当然这只是我的个人观点,没有蔑视这项考试的意思。

6。也许你的志向是当一个“技术总监”,或是“XX主管”之类的,也就是所谓的“不写代码的人”,当然,很多人都这么想。但是,请记住,这些人其实都有着很好的实际编程经验,如果没有这段经历和积累,他们根本就到达不了现在的境界,也不能服众。所以,趁早多学一些“技术”是很必要的。

7。最后我想提醒各位,虽然至此你可能已经觉得自己“学识满腹”了,但是千万不要以为自己懂的多了,就开始自以为是,开始看不起别人了。我曾经有幸听过“钱能”老师的课,他给我印象最深的一句话就是:“你越学就应该越是觉得自己无知啊,怎么这么多东西自己都不懂呢?所以要谦虚啊,要谦虚啊,千万不能学了一点点东西就自认为了不起了。”(这是他在课堂上的原话。。。)

posted @ 2006-11-24 14:56 Rechro 阅读(82) | 评论 (3) | 编辑收藏

各种计算机语言的经典书籍

1、Java

Java编程语言(第三版)---Java四大名著----James Gosling(Java之父)

Java编程思想(第2版)----Java四大名著----Bruce Eckel

Java编程思想(第3版)----Java四大名著----------------Bruce Eckel

JAVA 2核心技术 卷I:基础知识(原书第7版)---Java四大名著-----Cay Horstmann

JAVA 2核心技术 卷II:高级特性(原书第7版)----Java四大名著-----Cay Horstmann

Effective Java中文版------Java四大名著--------Joshua Bloch

精通Struts:基于MVC的Java Web设计与开发---孙卫琴

精通Hibernate:Java对象持久化技术详解---孙卫琴

Tomcat与Java Web开发技术详解------------孙卫琴

Java与模式------------------------------阎宏


2、c#

C#程序设计-------Charles Petzold“windows编程泰山北斗”---C#语言“倚天屠龙双剑”

C# Primer中文版--------Stanley B.Lippman---C#语言“倚天屠龙双剑”

.NET框架程序设计(修订版)--------Jeffrey Richter“windows编程泰山北斗”---.NET平台四大天王

c#Windows程序设计----------Charles Petzold“windows编程泰山北斗”------.NET平台四大天王

.NET程序设计技术内幕-------------Jeff Prosise---.NET平台四大天王

.NET本质论--第1卷:公共语言运行库(中文版)--------Chris Sells---.NET平台四大天王

 

3、C++

C++程序设计语言(特别版)---c++八大金刚----Bjarne Stroustrup“C++之父”

C++ Primer (第3版)中文版----c++八大金刚---Stanley B.Lippman

C++ Primer (第4版)中文版----c++八大金刚---Stanley B.Lippman

C++标准程序库—自修教程与参考手册--c++八大金刚--Nicolai M.Josuttis

C++语言的设计和演化-----c++八大金刚----Bjarne Stroustrup“C++之父”

深度探索C++对象模型---c++八大金刚----Stanley B.Lippman

Essential C++中文版---c++八大金刚---Stanley B.Lippman

Effective C++中文版 2nd Edition-----c++八大金刚------Scott Meyers

More Effective C++中文版----c++八大金刚------Scott Meyers

C++编程思想(第2版) 第1卷:标准C++导引--------Bruce Eckel

C++编程思想(第2版)第2卷:实用编程技术 --------Bruce Eckel

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

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

C++ Primer Plus(第五版)中文版---Stephen Prata

广博如四库全书The c++ programming language、c++ Primer
深奥如山重水复Inside the c++ object model
程序库大全The c++ standard libray
工程经验之积累Effective c++、More Effective c++、Exceptional c++

c++八大金刚:
1、Essentital c++---lippman---C++之父,旁枝暂略,主攻核心,轻薄短小,初学者

2、The c++ programming language----C++之父,技术权威,用词深峻,思想深远,c++百科全书代表,圣经。
3、c++ Primer----lippman---纵横书市十数年,c++最佳教本,c++百科全书代表。

4、Inside the c++ object model-----lippman----揭示c++底层,非常好,非常难。
5、Effective c++-----通过50个编程实例,展示专家经验,行文有趣,深处浅出。
6、More Effective c++----通过35个编程实例,展示专家经验,行文有趣,深处浅出。
7、The c++ standard libray---c++标准库的百科全书。
8、设计模式:可复用面向对象软件的基础------good!


4、c

C程序设计语言(第2版·新版)---C语言“倚天屠龙双剑”---Brian W.Kernighan“C语言之父”

C Primer Plus中文版(第五版)--------C语言“倚天屠龙双剑”---Stephen Prata

C程序设计(第三版)---------------------------谭浩强

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

C语言接口与实现:创建可重用软件的技术-------------DAVID R.HANSON

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

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

C陷阱与缺陷-----------------------------------Andrew Koenig


5、VB

Visual Basic .NET技术内幕-----VB编程三剑客-----------Francesco Balena“vb首席大师”

Windows程序设计-Visual Basic.NET语言描述--VB编程三剑客-----Charles Petzold“windows编程泰山北斗”---

.NET框架程序设计:Visual Basic.NET语言描述--VB编程三剑客--Jeffrey Richter“windows编程泰山北斗”---,Francesco Balena“vb首席大师”

Visual Basic 6编程技术大全------------------------Francesco Balena“vb首席大师”

Visual Basic.NET 从入门到精通-------------------------Petroutsos,E.

高级VISUAL BASIC编程-----------------------------------MATTHEW CURLAND  


6、Delphi

Inside VCL(深入核心——VCL架构剖析)----------李维

Delphi 7高效数据库程序设计--------------李维

面向对象开发实践之路(Delphi版)----------李维


7、VC

Windows 程序设计(第5版)-----Charles Petzold“windows编程泰山北斗”---

Windows核心编程----------Jeffrey Richter“windows编程泰山北斗”---

Windows高级编程指南---------Jeffrey Richter“windows编程泰山北斗”---

深入浅出MFC(第二版)-----“MFC四大天王”-------侯捷

MFC Windows程序设计(第2版)---MFC四大天王”---------Jeff Prosise

Visual C++ 技术内幕(第4版)--MFC四大天王”--------David Kruglinski

深入解析MFC-------------MFC四大天王”-----------George Shepherd

Visual C++.NET 技术内幕(第6版)-MFC四大天王”------------David Kruglinski


8、VF

Visual Foxpro程序设计参考手册-------------------张洪举

专家门诊——Visual FoxPro开发答疑160问-------------------张洪举

Visual FoxPro 6.0/9.0解决方案与范例大全-------------------张洪举

Visual FoxPro软件开发模式与应用案例-------------------张洪举


9、黑客

应用密码学(协议算法与C源程序-----------Bruce Schneier

网络信息安全的真相-----------Bruce Schneier

黑客大曝光:网络安全机密与解决方案(第5版)--------STUART MCCLURE

软件加密技术内幕------------看雪学院

加密与解密——软件保护技术与完全解决方案------------看雪学院

加密与解密(第二版)--------段钢


10、汇编

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

80*86、奔腾机汇编语言程序设计---------Barry B. Brey

Windows环境下32位汇编语言程序设计(第2版)-----------罗云彬

IBM-PC汇编语言程序设计(第2版) 本书是国内优秀教材--------沈美明 温冬婵

IBM PC汇编语言程序设计(第五版) 这本书籍是国外优秀教材-------PETER ABEL著,沈美明 温冬蝉译


11、驱动开发

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

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

WINDOWS 2000/XP WDM设备驱动程序开发-------------------------------- 武安河


12、网络

计算机网络第四版中文版----网络编程三剑客--------------Andrew S.Tanenbaum


TCP/IP详解3卷本--------------------Richard Stevens----网络编程三剑客

UNIX网络编程2卷本--------------------Richard Stevens----网络编程三剑客

用TCP/IP进行网际互联-----------Douglas E. Comer

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

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

UNIX环境高级编程(第2版)--------------------Richard Stevens

 

13、算法

计算机程序设计艺术-------Donald.E.Knuth----------算法“倚天屠龙”双剑

算法导论-----------------Thomas H. Cormen--------算法“倚天屠龙”双剑

离散数学及其应用----------Kenneth H.Rosen

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

 

14、图形编程
Windows 图形编程----------------FENG YUAN --图形编程界的Charles Petzold之书


15、数据结构

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

数据结构算法与应用-C++语言描述》49.00Sartej Sahni 汪诗林 孙晓东等机械工业出版社

 

16、软件工程

设计模式--可复用面向对象软件的基础

重构—改善既有代码的设计


17、操作系统

深入理解计算机系统(修订版)-------RANDAL E.BRYANT

 

18、Unix


UNIX 网络编程 卷I 套接字联网API(英文版 第三版
UNIX 编程艺术
UNIX环境高级编程(英文影印第2版-----UNIX编程“圣经
UNIX环境高级编程(英文影印版)(第2版)
99-UNIX环境高级编程(第2版)
UNIX环境高级编程(第2版)---UNIX编程“圣经
UNIX网络编程 第1卷:套接口API(第3版)
UNIX网络编程卷2:进程间通信(第2版)(英文影印版)
UNIX 网络编程(第二版)第2卷:进程间通信
UNIX编程环境
UNIX 网络编程 卷I 套接字联网API(英文版 第三版
UNIX系统编程
UNIX环境高级编程
UNIX环境高级编程(英文影印版
88-LINUX内核分析及编程
UNIX 网络编程 卷I 套接字联网API(英文版 第三版)
UNIX网络编程 第1卷:套接口API(第3版) 
UNIX 网络编程(第二版)第2卷:进程间通信
UNIX网络编程卷2:进程间通信(第2版)(英文影印版) 
UNIX 网络编程(第2版)第1卷:套接口API和X/Open 传输接口API
UNIX网络编程(卷1):连网的APLS:套接字与XTI(第二版)(英文影印版)
UNIX环境高级编程
UNIX 环境高级编程(英文版)
UNIX环境高级编程(第2版)
Unix技术手册

 

19、Linux


Linux内核设计与实现
Linux内核完全注释
LINUX内核分析及编程
GNU/Linux 编程指南(第二版)
Linux设备驱动程序(第三版)
嵌入式设计及Linux驱动开发指南——基于ARM 9处理器 
Linux设备驱动程序 第三版(英文影印版)
Linux内核设计与实现(第2版)
Linux内核设计与实现(英文影印版)(第2版)
linux技术手册


20、游戏编程

Windows游戏编程大师技巧(第二版
游戏之旅--我的编程感悟 
OpenGL超级宝典:第三版
OpenGL编程指南(第四版)
Java 游戏高级编程
J2ME手机游戏编程入门 
游戏之旅——我的编程感悟
游戏开发中的人工智能(英文影印版)
3D游戏:卷2 动画与高级实时渲染技术
面向对象的游戏开发 
Java 游戏高级编程
3D游戏编程大师技巧
游戏编程精粹
面向对象的游戏开发
3D游戏 卷1:实时渲染与软件技术
3D游戏:卷2 动画与高级实时渲染技…
J2ME手机游戏编程入门
Direct3D游戏编程入门教程(第二版…


21、移动开发

WindowsMobile手机应用开发
SYMBIAN OS C++手机应用开发 
68-WindowsMobile手机应用开发--傅曦 齐宇 徐骏 
48-SYMBIAN OS C++手机应用开发 (第2卷)------------------RICHARD HARRISON著,周良忠 王伯欣译
68-SYMBIAN OS C++手机应用开发---------------RICHARD HARRISON著,周良忠译 
Windows CE.net内核定制及应用程序开发---------周毓林 宁杨 陆贵强 付林林 
嵌入式系统Windows CE 开发技巧与实例--傅曦
Palm OS编程实践---绝版

 

22、单片机

单片机轻松入门----------------------------------周坚(平凡老师)

单片机典型模块设计实例导航-----------------------求是科技

例说8051----------------------------------------张义和 陈敌北

KEIL CX51 V7.0单片机高级语言编程与ΜVISION2应用实践-----徐爱钧  

单片机应用程序设计技术(修订版)--------------------周航慈

8051单片机实践与应用-------------------------------吴金戎

MCS-51系列单片机实用接口技术---------------------李华


23、串并口通讯

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

VISUAL BASIC与RS-232串行通信控制(最新版)----------范逸之

 

24、电子

无线电识图与电路故障分析轻松入门(第二版) -------------------胡斌

无线电元器件检测与修理技术轻松入门(第二版) -------------------胡斌

图表细说电子技术识图-------------------胡斌

图表细说电子元器件-------------------胡斌

图表细说元器件及实用电路-------------------胡斌

推荐阅读