当前位置: 首页 > news >正文

计算机科学与技术部分图书书评

计算机科学与技术部分图书书评

------------------------------------------------------------------------------------
http://www.zahui.com/html/13/27307.htm
------------------------------------------------------------------------------------



[本页面推荐在1024x768分辩率下浏览]
文章类别:其他   
网站目录: 网站首页 —> 其他
转载自:www.csdn.net


这些文摘是我在2003年逛BBS上摘得的。感觉很好,一直没有机会传上来。这是工大计算机版的文章,不知哪些高校的BBS上还有这种专业水准得书评,指导人学习。

第一是OS部分:
“今天闲来无事,整理了一下我的书籍,发现买的书虽多,但真正完全读过一边的很少,不尽痛恨自己,暴殄天物,愧对这么多大师不说也对不起我可怜的money呀,:(。于是乎想起自己在本科时代的那段浑浑噩噩的时光,那时候倒是也想读书,读好书,但是不知道什么书好,什么书该读,什么不该读。我想现在的不少同学也可能有一样的感觉,于是我觉得把我这几年来读过的书推荐一下,还是很有必要的,希望学弟学妹们能够充分利用时间,把自己培养的棒棒的:-)
ok,闲话少说,let's begin………
1)  操作系统方面:
    如果你对操作系统原理很好奇,想一探究竟,推荐你必读的几本书,记住不要在汤子赢的书上浪费精力,看过以下的书,就知道什么是水平上的差距了:)
    “Abraham Silberschatz”的两本书:
1. 《实用操作系统概念(影印版)》高教出版社
2. 《操作系统概念(第六版影印版)》高教出版社
这个作者的level是顶尖级的,来自贝尔实验室,是目前世界上操作系统方面的领军人物,我个人认为比坦尼伯姆要强,虽然坦也很强:),这两本书第二本和第一本很多地方相似,区别在于第二本理论偏重一些,第一本实例讨论的更多一些。这两本书别看很厚,但是写的非常流畅,属于比较易读的一类。
3.《现代操作系统》---“坦尼伯姆”,这本书我没完整看过,只是大略的翻过,是第4本书的升级版,里面添加了一些新的操作系统方面的讨论,原理部分比第四本稍有增强。个人认为,是除了前面两本之外的最好的书。
4.《操作系统-设计与实现》---这个比较有名了,主要是分析minix源代码的书,顺带着讲了下原理,应该说是偏于实践的,可能当年的linus的教材就是这本,影响较大,可以帮助你了解一个文件系统或系统调用之类是如何实现的。当然,和目前的操作系统来讲,稍简单了一些。想做linux kernel hacker的同学此书可以一读。
5.《操作系统:现代观点(第二版试验更新版)》
 Operating Systems: A design-Oriented Approach
这两本一般,但是还是比国内抄袭的教材强很多,可以作为补充阅读的书籍。
6.与特定操作系统相关的书:
    《understanding linux kernel》:千万别买中文版,那叫一个烂
    《linux internal》:这两本我都有电子版,是打印出来看的:(
    《linux内核情景分析》:这三本是最nb的linux内核分析书籍,前两本讲2.2内核,第三本讲2.4,好是好,就是钱遭罪,赫赫,要100多块吧。
    《4.4BSD操作系统设计与实现》:不说少了,原来berkeley那帮写bsd的其中几个人写的,经典就是它了,前几年我恨不得直接花$去amazon买了:(,不过这几年国内出版业发展真快,原来很多梦寐以求的书,现在都摆上书架了,haha,很有成就感呢~~~
    《unix操作系统设计》:古老的unix设计方面的书籍,应该说这本书在unix世界里面的影响是十分巨大的,很多后来的unix分枝,思想都是缘于此书。里面主要讲解unix各个部分实现时所用的算法,其中一些目前还在使用中。想了解一下unix实现但又没什么时间扣minix或linux内核的朋友可以看看,在这本书上花费几十个小时,绝对超值:)

//体系结构部分
2) 计算机系统结构:
    我是搞体系结构的,所以对这方面还是比较了解,不免又要批判一下国内的书籍了,李学干的书,我怎么看都像是上古作品,讨论的东西基本上是80年代以前的玩意儿,看了也是白看,它里面介绍的东西,基本上我们是没有可能遇到的。除非你去计算机历史博物馆。清华的郑伟民有两本书,一厚一薄,都叫计算机体系结构,薄的讲的太浅,反正我看完了还是不清楚体系结构是干啥的,做什么用处。厚的我没全看完,但是感觉和李学干的书一样,不少都是copy黄凯的那本高级计算机体系结构,至少我就看见过一张一莫一样的图。讲道这里,不免要推荐一下唐老师的计算机组成原理,(虽然不能是体系结构),这本书相当好,我想这和唐老师严谨认真的治学作风十分不开的,计算机组成原理的书,别的都不用读了,我还没见过比这本更好的。
    国外体系方面的书:
1. “hennessy”和“patternson”的《 计算机硬软接口 》和《 计算机量化研究方法 》:作者一个是斯坦福的校长,一个是伯克里的资深教授,体系方面最牛会议的审稿人。这两本书可谓是千锤百炼,绝世好书,呵呵。我都推荐给进入体系实验室的师弟师妹们。硬软接口里面讲
的是简单的处理器体系结构,最难得地方也只讲到流水线,本科水平阅读应该没有问题。它与国内的书不同,并不是从理论方面泛泛而谈,而是针对某个问题,深入讨论,不弄个水落石出决不罢休,这点使得读起来非常过瘾。第二本量化研究方法比较难读,不仅仅是因为英文写的有点晦涩(相对于硬软接口),而且讨论的东西也是最先进的,新接触这一领域的读者比较难于理解,这本书基本上涵盖了2000年以前的微处理器体系结构方面的先进技术,如果你想了解2000年左右微处理器体系结构已经发展到什么程度,可以从这本书读起,它以前的书可以不用读。对了,忘了说明,这两本书都是主要讨论微处理器体系结构的,呵呵,这也是它们的新颖之处,我个人也觉得现在还大讲特将什么向量机有点不合时宜。强烈推荐,看完整两本书,你就会知道处理器到底是如何工作的。另外,千万别买这本书的翻译版,看着闹心,翻译的往往和原意差出好几百里地,浪费时间不说,也对身心健康不好哦
2. “William stalling”的《计算机体系结构-性能设计》:由于看了前两本书,所以这本就不太起眼了。想比较而言,这本书讨论的问题太过于表面化,缺乏对问题的深入剖析,看完之后没有那种刺破肉皮见骨头的快感。不过我觉得这也很正常,因为william stalling只是个科技作家(别看china-pub上好像对他的吹捧好像是个神,其实他也是人),他和前两位世界级的教授根本不在一个数量级上。不过老威倒是也真够狠,什么都写,os阿,网络阿,体系阿,看着比坦尼伯姆还nb。看过这本书之后,我发誓再也不看他的书了。这本书当作科普读物可以,了解一下体系结构。
3. “黄凯”的《高等计算机系统结构》:这本书影响非常大,国内的凡是体系结构的书,基本上很多都是copy这本的。但是,我不得不说,他太老了,老的已经不再适合做体系的教材了。计算机技术发展多么迅速阿,这个10几年前的东西现在怎么应用啊? 里面讲的机器估计以后没人能见到,呵呵,说到这里不得不向大牛cray致敬(虽然大师已经挂了),他的cray机真是太牛了,不让ibm专美与前啊。Sorry,扯远了,这本书如同鸡肋,弃之可惜(毕竟是好书),但食之无味。喜欢跳出微处理器的圈子,试图俯瞰一下计算机体系结构各个领域在1990年以前是什么情况的同志可以look through一下。
4. “坦尼伯母”的《结构化计算机组成》:这本书不是专讲体系结构的,它连从c程序,到编译,汇编,连接加上硬软接口ISA和处理器内部实现统统讲到。一气贯通,让你了解这个程序是咋在处理器上刺溜刺溜跑起来的,对大家对于计算机系统的宏观认识非常有帮助。


//编译原理部分
3)编译原理:
编译这块我了解不多,应该说不怎么了解,我甚至还打算从头学一边编译原理:(,不过这方面的好书我可是注意好久了:现在隆重推荐:
1) 《编译原理:技术与工具》:作者之一就是“lalala, ullman”,我记得是计算机界目前论文被应用最多的一个活人(fix me),他在编译和数据库方面地位很高,这方面我估计李建中老师的门下弟子比我知道的多多了,我就不说了。这本书据说是讲解经典编译原理的宝典,也被称为"龙书"。想学编译?ok,别的书先抛在一边,把这本先读了再说。但是要提醒一下,目前的编译器基本上和体系结合的很紧密了,有的编译器甚至连程序运行时功耗都考虑进去了,所以,要想一窥现在编译器内部构造,光看这本就不够了
2) 《Optimizing Compilers for Modern Architectures: A Dependence-based Approach》
 这本书能弥补第一本的不足,讲的都是如何让编译器利用体系结构方面的技术。不过,国内没有出版,不过,别灰心,呵呵,我这里有电子版。如果实在感兴趣,看看编译器是如何根据体系结构进行优化的,可以打印出来读。Ok, 累死我了,先推到这里把,对了,希望在别的领域很有研究的同学也推荐些书,让我们知识共享,经验共享,共同进步,共同提高。

//数据库的
我可以补充一些数据库的:
外国的
首推“ Ullman”老大写的 《数据库系统实现 》 ,这本书看完了,才算知道了数据库是啥。写的比较前沿,关系数据库的实现很完整,可以照着自己写一个小数据库也有一些信息集成的东西,中文翻译的一般。
“date”的《数据库系统导论》写的也不错了,就是东西太多,哪种讲的都不是很深但是很好懂,可以做手册和普及读物。
“stonebreaker”的《reading in database system》是进行数据库研究必须要看的基本上包括了数据库领域的经典论文,范围也很广,包括OO,并行,分布式数据库,决策知识等等前沿,也有codd提出关系模型的经典论文,缺点是都是正规的学术论文,很难懂。
《data mining》,“韩家威”写的,由于他是学e文出身的中国人,因此英文写的很适合中国人看,从某种程度来说,比峰哥翻译的汉语还好懂,而且这本书也很前沿90年代末的数据挖掘最火热的年代的主流算法都有,但是有些算法写的不够详细理解理论很好,照着实现很难。
《数据仓库》,数据仓库的提出者“Inmon”写的,这本书更加适合研究信息系统的人看。对于设计写的很多,对于实现写的不够详细。
选书的时候,有的时候看作者就可以了,响当当的作者就好比一个著名的品牌,有很好的信誉度
Richard Stevens、Andrew Tanenbaum、Frederick Brooks,Jr、Bjarne Stroustrup、Matrin Fowler、Kent Beck、
Ullman好像写过一本非常不错的数据结构的书不过可惜国内还看不到
咱们系用的形式语言教材《An Introduction to Automata Theory, Language and Computation》也是Ullman的大作。也是一本好书,可以正式出版的第二版中删节了不少内容。
“aho&Ullman”《algorithm and data structure》这本书是不错,现在可以用《算法导论》取代了

//C++的
其实感觉《The C++ Programming Language》很不错,广泛而深入。
Lippman的 C++ Primer只翻了一翻,不过明显要比TCPL浅一个层次,但还一本不错的书关于标准库,The C++ Standard Library是一本不错的参考,有电子版和中文翻译。
底层实现的,Stroustrup94年写的Design and Evolution of C++不错,虽然内容并不是C++98的标准,但是里面却折射出Stroustrup在语言设计中的取舍的思想。
要想玩点智力游戏,看看Alex的Modern C++ Design,Loki写的太聪明了。
Stroustrup组织编写的C++ Indepth系列丛书,每本都很不错。
前几天我上传到241的C++ Network Programming V1 & V2的内容就是很不错。
作者名字太长,没记住,不过那本书的参考文献从System Architecture到OS,到Protocols,再到Patterns and Framework,看样子作者十分有功力:)


//OO的书
推荐一本OO的书吧《Object-Oriented Software Construction (Second Edition),》Meyer著
软件工程大热,被奉为经典的书不胜枚举,炒作异常。想必主流的东西大家也都知道是什么了。这本书很少能见到推荐他的,甚至连书评都很难见到。究其原因,一可能是作者每到泰山北斗的名气,二就怕是因为它的篇幅了--正文1188页。如此厚重的书,能读完的人都不多。影印版国内出版了好久,而且有两个版本。中文版没有,几乎不可能有。

我读此书的感觉是,作者懂得太多、读过太多,什么都想告诉读者。同样一个问题,在书的不同位置都会涉及到,于是作者都会讲上两句(絮叨),难得的是每次讲得语言还都不太一样。粗浅的说完之后,会语重心长地告诉你,哪些书讲这个讲得特别好,一定要去看。每章之后都列出来bibliographical notes,里面对相关书籍的简短评论都很精彩。总结出的Key Concepts简直可以当作名言警句背下来(书里确实有很多非常漂亮的句子,都快成我的口头禅了)。虽然可以作为读书、学习指导,但这本书当然不是一个书目,它自身仍然是出色的。作者也是OO的先驱者之一,又因为不吝啬笔墨,所以很多问题都讲解得极其透彻、易懂。此书配?/span>

转载于:https://www.cnblogs.com/lrabbyivy/archive/2005/08/05/208232.html

相关文章:

  • Openstack 实现技术分解 (3) 开发工具 — VIM dotfiles
  • .Net中的设计模式——Factory Method模式
  • Mobile Web Application中的TextArea控件开发(一)
  • Java中OOP对象和引用
  • 制作软件启动画面
  • centos7 给未知屏幕添加分辨率
  • 用DuinoMite-Mini做的苹果电脑
  • 处理ERP 中BILLING被锁住的方法
  • Interview
  • 使用SQLDMO中“接口SQLDMO.Namelist 的 QueryInterface 失败”异常的解决方法
  • filezilla
  • 管理十大经典理论[转]
  • C# 中的委托
  • 利用v$enqueue_lock解决ORA-14450的错误
  • [Ariticle] 厚黑之道 一 小狐狸听故事
  • 2017-08-04 前端日报
  • canvas 高仿 Apple Watch 表盘
  • CentOS7简单部署NFS
  • codis proxy处理流程
  • If…else
  • JS正则表达式精简教程(JavaScript RegExp 对象)
  • Laravel 实践之路: 数据库迁移与数据填充
  • MySQL几个简单SQL的优化
  • TypeScript实现数据结构(一)栈,队列,链表
  • ​ 无限可能性的探索:Amazon Lightsail轻量应用服务器引领数字化时代创新发展
  • ​​​​​​​GitLab 之 GitLab-Runner 安装,配置与问题汇总
  • ​油烟净化器电源安全,保障健康餐饮生活
  • $.ajax,axios,fetch三种ajax请求的区别
  • (14)目标检测_SSD训练代码基于pytorch搭建代码
  • (2.2w字)前端单元测试之Jest详解篇
  • (保姆级教程)Mysql中索引、触发器、存储过程、存储函数的概念、作用,以及如何使用索引、存储过程,代码操作演示
  • (初研) Sentence-embedding fine-tune notebook
  • (分享)自己整理的一些简单awk实用语句
  • (六) ES6 新特性 —— 迭代器(iterator)
  • (转)程序员疫苗:代码注入
  • (转)大型网站架构演变和知识体系
  • (转)一些感悟
  • ./include/caffe/util/cudnn.hpp: In function ‘const char* cudnnGetErrorString(cudnnStatus_t)’: ./incl
  • .NET CF命令行调试器MDbg入门(三) 进程控制
  • .NET CF命令行调试器MDbg入门(一)
  • .NET Compact Framework 3.5 支持 WCF 的子集
  • .NET CORE 3.1 集成JWT鉴权和授权2
  • .Net Redis的秒杀Dome和异步执行
  • [2021 蓝帽杯] One Pointer PHP
  • [Android Studio] 开发Java 程序
  • [Android]创建TabBar
  • [BUG]Datax写入数据到psql报不能序列化特殊字符
  • [bzoj 3534][Sdoi2014] 重建
  • [C++] 默认构造函数、参数化构造函数、拷贝构造函数、移动构造函数及其使用案例
  • [C++] 统计程序耗时
  • [C++]打开新世界的大门之C++入门
  • [IE9] 解决了傲游、搜狗浏览器在IE9下网页截图的问题
  • [leetcode]Search a 2D Matrix @ Python
  • [PAT练级笔记] 44 Basic Level 1044 火星数字
  • [python] `sys.settrace` 跟踪函数