回 帖 发 新 帖 刷新版面

主题:[原创]为学编程(特别是学C++)的朋友所列的一张书单

下面这个帖子是好久以前写的,现在看法有点变了, 有些书也不怎么样。在这里,我只想推荐两本。
深入理解计算机系统 (美) Randal E. Bryant, David O'Hallaron著 
哥德尔、艾舍尔、巴赫—— 集异璧之大成 (美)侯世达著 
//-----------------------------------------------

下面是整理过的一张书单,很多我都借过看过,不过没有一本是看完的。往往是这学期还了,下学期又借。都是很好的书。学编程,特别是C++的都可以去看看。我只讲我看过的,很多其他的经典书籍不在这张书单里面。

//----------------------------------------------------------
离散数学  (美) Richard Johnsonbaugh著 
组合数学  (美) Richard A. Brualdi著

计算机本质上是离散的,学学这两门数学很有好处。这两本书不象其他数学书那样沉闷。

//----------------------------------------------------------
C++面向对象程序设计              (美) Walter Savitch著
C++编程——从问题分析到程序设计  (美) D. S. Malik著 

两本入门书籍。不过不是很容易的,不是单纯讲语法的。想当初,我一星期看到类(那时候懂了指针的概念,不过想不明白指针有什么用的)那里,再用一个月初步了解为什么要有类。看完,有了点面向对象的印象。C语言和C++完全不同,学C++不一定要学C语言,要是先学C语言,思维反而容易被束缚。

//----------------------------------------------------------
数据结构C++语言描述(应用标准模板库—STL) (美) William Ford, William Topp著
算法设计与分析基础                       (美)[莱维丁] Anany Levitin著

数据结构和算法永远都是最重要的。你不懂数据结构和算法,就不要对别人说你会编程。说来惭愧,到现在我还不太明白递归,还看不懂图那节。所以到现在,我自己还不会编程。特别是那本 数据结构C++语言描述(应用标准模板库—STL),是我在图书馆找到的最好的一本数据结构方面的书,难得的是每个容器,都写有一个完整的例子,网上可以下到代码,风格也很好。我自己写C++的风格就是跟着这本书学的。看过,你会更了解C++的用法。

//-----------------------------------------------------------
泛型编程与STL          Matthew H. Austern著 
C++Templates中文版       David Vandevoorde, Nicolai M. Josuttis著
SGI STL源码剖析          侯捷

这三本都是关于模板和STL的,要参考着来看,这本书中的问题往往在另一本书中找到答案。其中泛型编程与STL的第二和第三章,不可不看。而STL真的是很伟大,模板真的很神奇。现在GP思想和OO思想有着同等最要的地位,也多亏了STL。C++的学习有三个难点,指针,类,模板。

//--------------------------------------------------------
Effective C++            Scott Meyers著  
More Effective C++         Scott Meyers著

这两本书不用说了,More Effective C++是比较难的,高阶的读本。

上面几本C++的书你稍微看看,就不会问C++会不会被Java取代之类的笨问题了。

//-----------------------------------------------
面向对象编程导论  (美)Timothy A.Budd著

该是学学面向对象了,这本书很有特色,将很多语言进行比较。

//---------------------------------------------------
图论简明教程      (美) Fred Buckley, Marty 
C++算法——图算法 (美) Robert Sedgewick 著

学习数据结构的时候,其他都比较容易理解,不过到了图那里想再前进就很难了。你需要更仔细的学,关于图的算法很都是用到了递归。递归概念很容易,不过当同一函数中,用if, 用while判断之后再来调用自己,就会很难理解了。图论简明教程这本书也比较有趣。这个假期准备看这两本书。

//----------------------------------------------------------
Intel汇编语言程序设计  (美) Kip R. Irvine著

正在看的一本书。学汇编,很有必要,理解低层之后,你会发觉以前很多疑问都有了解答。这本书不同国内讲汇编的很多书,国内的很多都是为了教学的方便,从寻址方式开始,跟着讲指令系统,再讲伪指令。看了半本还不知道怎么输入个"Hello! World!"。有了这本书,你会发觉汇编也很有趣。书附有个光盘,网上也很可以找到。光盘中有几个很有用的函数,用来输入输出,观察结果。汇编最令人烦恼的是居然不可以直接输入输出。

//----------------------------------------------------
上面的书,你看一次就会多一点收获,不是一次可以完全理解的。往往你以为自己知道了,到后面才发觉自己以前是想错了。不知道自己不知道是最危险的。要是让我在上面选三本,我会选数据结构C++语言描述(应用标准模板库—STL),泛型编程与STL,Intel汇编语言程序设计。

很是遗憾的是,上面几乎全部书都是美国人写的,美国实在太狠了。而侯捷所著所翻译的书,我也很喜欢。

//----------------------------------------------------
看过上面的书,你写出程序只能在那个黑洞洞的Dos形式的窗口运行。不过最基本的,最核心的东西往往就隐藏在图形界面之后。有个图形界面没有什么了不起,不值得骄傲。所以下面两本书
深入浅出MFC      侯俊杰(侯捷)著
Windows程序设计  (美)C.佩措尔德(Charles Petzold)著
虽然是经典,也是提提而已,不做过多推荐。

回复列表 (共40个回复)

沙发

up!
up!
up!
up!
up!

(一个up!不让发,所以多给你几个up!)

板凳

我也来顶下~~~

3 楼

看完觉的惭愧啊!呵呵!
我学过的有离散数学(一本教材),数据结构(C描述的)觉的算挺简单的,C++的看过(没有看完)感觉和C的差很远,比较难一点。汇编学过(一本教材)。C,C++各一本教材。
从课本数量来看,我刚学个零头,从了解深度看,呵呵,可能零头都没有!

4 楼

ding  ding  ding  ding  ding  ding  ding  ding  ding  ding

5 楼

赞楼主~~

6 楼

我心里难受,我看的书太少了!太浮躁了

7 楼

算法导论没算在里面么?
还有操作系统

8 楼

个人觉得还是偏重于技巧和规范.
还是不要迷茫.先练内功吧.

计算机组织与系统结构

9 楼

随便列的,列的只是我看过的。当然还有很多其他的要看,比如操作系统,网络,组成原理,编译原理之类。C++方面还有Thinking in C++ 也没有在这书单里面。不过这不代表它们不好或不重要。要是你全部都说,就等于什么都没有说。要是将所有的经典书籍都列出来,怕会很长,吓死人了。学习是一辈子的事,没有尽头。该看但还没有看的书也总是会有的。

10 楼

《具体数学》、《编程珠玑》、《计算机编程艺术》、《编译原理》太多要看的东东啊,慢慢看吧

我来回复

您尚未登录,请登录后再回复。点此登录或注册