计算机书籍导读

传说中的各种书

  1. 《代码大全》(Code Complete

  第二版的代码大全增加了很多与时俱进的内容,涵盖了软件构建过程中的所有细节。它从软件质量和编程思想等方面论述了软件构建的各个问题,并详细论述了紧跟潮流的新技术、高屋建瓴的观点、以及简单明了的通用概念,当然也含有丰富而典型的程序示例。

  评语:引用一位网友的评论:恰恰是这种艺术与科学相互融合的产物带给程序员无比的满足感。老少皆宜的读物,这本书不论对技术大牛、亦或是自学刚入门的程序员都是大有益处的,感兴趣的可以去看看。

 

  2. 《程序员修炼之道》(Pragmatic Programmer)——适合一定代码量和项目经验的人

  中文名翻译的很形象,这是一本介绍软件开发中日益增长的规范和技术技巧的书籍,即根据需求,创建用户乐于接受的、可工作和易维护的代码,保持代码灵活和易于改编

重用的架构技术。另外也有防止软件变质、提高编写灵活、避免相同设计、以及对代码防护等内容。

  评语:一本可以提高程序员实效性的书籍,这本书对有一定代码量和项目经验的人能引起共鸣,你看完后会反思:程序为什么要这么设计?怎么才能写出更好的程序?如何

才能在编程中少走不必要的弯路?推荐一些技术大牛阅读。

 

  3. 《计算机程序设计与解释》(Structure and Interpretation of Computer Programs)——适合对计算机理解很深的人

  该书被世界各地 100 多所院校用作教材,其中包括美国斯坦福大学、英国牛津大学、日本东京大学等。在修订版中,作者根据十余年的教学实践,对大部分重要设计系统都重新修改并做过测试,包括各种解释器和编译器。涵盖面很广,从数据抽象、过程抽象、迭代、高阶函数等编程到数据结构和算法。

  评语:每一位技术大牛都应该阅读这本书。因为本书清晰、简洁和富于才智,适合那些深刻理解计算机科学的人们

 

  4. C程序设计语言》(C Programming Language 2nd Edition

  值得一提的是本书是由C语言之父 Dennis Ritchie 和 Brian W. Kernighan 共同编写,是一部介绍C语言及程序设计方法的权威性经典著作。本书全面讲述了C语言的各个特性及程序设计方法,配合典型例证,使得本书通俗易懂,实用性强。

  评语:该书是学习C语言必读书籍,堪称经典,有C语言的圣经美称,其实用性,会让读者爱不释手。

 

  5. 《算法导论》(Introduction to Algorithms)——适合有一定理论基础的人

  本书全面介绍了计算机算法,涵盖的内容有:算法在计算中的作用,概率分析和随机算法的介绍,另外也介绍了随机化和线性规划技术的近似算法等。全书还提供了 900 多个练习题和思考题以及详细的实例研究。

  评语:《算法导论》是一本将严谨性和全面性融为一体的算法类书籍,可以与高德纳的《计算机程序设计艺术》相媲美,该著作有点深奥,一朝一夕读不透,建议读者多阅读几遍。详细涉及每一个算法的提出、分析与证明。

 

  6. 《重构:改善既有代码的设计》(Refactoring: Improving the Design of Existing Code)——适合软件开发人员、项目管理人员

  本书揭示了重构的过程,揭示了重构的原理和最佳实践方式,能够帮助你一次一小步的修改你的代码,从而减少了开发过程中的风险。书中还给出了 70 多个可行的重构,以及指导你何时何地应该开始挖掘代码以求改善。

  评语:该著作适合软件开发人员、项目管理人员阅读,读者读完后或许会有醍醐灌顶般感觉,书中蕴含着精华,值得反复咀嚼。

 

  7. 《人月神话》(The Mythical Man-Month)——适合软件开发人员、项目经理、系统分析师等工程管理人士

  作者 Frederick P. Brooks 曾荣获图灵奖,本书为人们管理复杂项目提供了颇具洞察力的见解,有发人深省的观点,也有大量软件工程实践,包括作者在 IBM 公司 System 360 家族和 OS 360 中项目管理经验,新的版本中也还有作者对某些观点新的认识、一些精华的提炼、也有大量工程实践,为每个复杂项目的管理者给出了自己的真知灼见

  评语:本著作适合软件开发人员、项目经理、系统分析师等工程管理人士阅读。最好有面向对象经验,此书虽是一本非技术书,但会给你带来很多感触和实用价值。

 

  8. 《计算机程序设计艺术》(The Art of Computer Programming)——纯理论级别不适合初学者

  本书是高德纳(Donald Ervin Knuth)所著,作者曾因三卷书获得美国 1974 年图灵奖,是 20 世界最佳 12 部学术专著之一。本书结合了大量数学知识,分析不同领域中的各种算法,其引入的许多术语、得到的许多结论都变成了计算机领域的标准术语和被广泛引用的结果,此外也描述了编程在模拟、数值方法、符号计算、软件与系统设计等方面的应用。

  评语:比尔·盖茨曾说过:如果读懂整套书的话,请给他发一份你的简历。通过这句话足以说明该著作对开发者影响是巨大的。属于纯理论级别的,每次翻阅都会有新的收获,可以当辞海来读。

 

  9. 《代码整洁之道》(Clean Code: A Handbook of Agile Software Craftsmanship)——适合老程序员、技术经理

  软件质量,不仅依赖于架构及项目管理,也与代码质量相关。本书给出了一系列行之有效的整洁代码操作实践,并用来自现实项目的正、反两面来例证,只要遵循这些规则,就能编写出干净的代码,从而有效提升代码质量。

  评语:该著作适合老程序员、技术经理。有网友惊呼早几年看到这本书,也许现在水平能再上一个台阶。,因此有一定经验和对编程认识到位的人,读完此书将得到更多。

 

  10. 《编程人生》(Coders at Work: Reflections on the Craft of Programming)——顶级程序员之路,适合所有人

  世界顶尖的程序员是怎么走上编程道路的?他们编程工作创造和改变了人类历史,在这一过程中有什么经验和教训?更有什么独到的看法?本书是一本访谈录,记录了当今最具个人魅力的 15 位软件先驱的编程生涯,为我们讲述了他们是怎么学习编程的,以及在学习当中发现了什么,有什么看法?并对诸如应该如何设计软件等困扰程序员的老话题谈了自己的看法。

  评语:适合所有程序员。看完这本书的读者,或许职业眼界会更开阔,不会再做无谓的码农劳动。

 

  11. 《编码:隐匿在计算机软硬件背后的语言》(CODE: The Hidden Language of Computer Hardware and Software)——讲计算机工作原理的书浅显易懂,不失深刻,入门推荐

  是一本讲述计算机工作原理的书,不过不要一听工作原理等字眼就认为本书是晦涩难懂的。作者用清晰明了的笔墨把复杂的理论写的通俗易懂,阅读的时候你不会感到枯燥和生硬,同时你也会获得对计算机工作原理深刻的理解。

  评语:不知网友有没有看过《明朝那些事儿》这本书?如同这本书把历史写的如同小说一样好看,《编码:隐匿在计算机软硬件背后的语言》这本书也做到了,读完后你会觉得很好玩,同时也能学到真正的知识,加深对计算机科学的理解和认识。

 

  12. 《算法概论》(Algorithms)——比算法导论容易上手吧

  短小精悍,别据一格,准经典之作。一个坏消息同算法导论,该书没有习题答案。好消息:习题很经典,难度也适中,只需花点点时间自己也都能做出来。另有中文版名《算法概论》,我没看过,不知道翻译得怎么样。如果有心的话,还是尽量看原版吧,其实看原版与看中文版花费时间不会相差很大,因为大部分时间其实都花费在做习题上了。


  13. 《算法设计》(Algorithm Design)

  很经典的一本书,很久之前看的,遗憾的是现在除了就记得它很经典之外其它都忘光了。

 
  14. 《计算机程序的构造和解释》(Structure and Interpretation of Computer Programs)——需要大量时间,收获也巨大

  以Scheme程序设计技术为主线展开,不是讨论巧妙的算法,而是更关注复杂程序的组织技术,复杂系统的功能分解和组合。本课程将有助于你进一步理解什么是计算,如何组织计算过程;理解程序设计的本质;理解程序设计语言本身;结识许多有趣而且有价值的技术。http://www.math.pku.edu.cn/teachers/qiuzy/progtech/

  六星之书无需多言,虽然这不是一本讲算法的书,但看完此书有助于你更深入的理解什么是递归。我一直很强调习题,看完此书后你至少应该做完前四章的太部分习题。否则那是你的遗憾,也是作者的遗憾。有一定编程基础和代码量再看收获会比较大。


  15.《具体数学》(Concrete Mathematics)

  有人说看TAOCP之前应该先弄清楚这本书的内容,要真是如此的话那我恐怕是看不到TAOCP了。零零碎碎的看了一大半,很多东西都没有时间来好好消化。如果你是刚进大学不久的本科生,有着大把的可自由支配时间,那你幸运又幸福了,花上几个月时间好好的读一下此书吧,收获绝对大于你的期望值。


  16.《算法设计与分析基础》(Introduction to The Design and Analysis of Algorithms)

  很有趣的一本算法书,有许多在别的书上找不到的趣题,看完此书绝对能让你大开眼界,实在是一本居家旅行,面试装逼的必备佳作。


  17.《 编程之美--微软技术面试心得》

  虽说是一本面试书,但如果把前面十几页扯掉的话,我更愿意把它看作是一本讲解题思维的算法小品。在书中,作者通常是给出一个平常解法,然后再一次又一次的优化改进,你可以很清楚的看到基本的算法设计思想是如何得到运用以解决实际问题的。如果你已经有了一些算法的基础,看完本书应该能使你的算法应用能力得到一定的提高。另外,本书生动有趣,也同样适合于初学者。
 
  18.《
怎样解题》(How to solve it)

  二十世纪最伟大的数学思想家之一波利亚的力作,讲一般性的解题方法:怎么认识问题,怎么转换问题,怎么解决问题,如何在问题中得到启发,如何找到一个通往答案的方向。


  19.《程序员面试攻略》(Programming Interviews exposed

  一本消遣之作。个人以为要比国内的某XXX面试宝典纯粹一些,至少也有一些启发性的内容,而不单单是面试题解库。


  20.《编程珠玑》(Programming Pearls)

  学习算法不仅需要像Algorithms,算法导论这样的重量级的内功心法,像《编程之美》、《编程珠玑》这样的轻量级的轻功身法也必不可少。前些年网上不是很流行像给你10亿个数,找到最大的n或者给你10亿个数,找出现次数最多的那个数之类的百度面试题吗?看了此书你就知道怎么解决了。相比于《编程之美》来说,本书中的示例技巧性略低一些,但是也更有实际应用价值一些。

 
  21. 算法艺术与信息学竞赛 

  如果算法导论是九阳神功,那这本无疑就是九阴真经。本书是专为参加一些诸如ACM之类程序设计比赛的同学而写的,江湖人称“黑书”。里面讲的都是一些在编程比赛中常用的算法、数据结构。以及一些数论和计算几何等。我虽然并不搞竞赛,但也从此书中受益颇多。

  22.编译原理——篇的抽象大道理,好书,较难

  诚心地说,这是一本好教科书,但不是一本全能的书,也不是一本工具书。这本书不适合实践,里面通篇的抽象大道理,例子不多。如果你之前对编译原理不甚了解,或是想巩固对编译原理知识,这本书再适合不过了;如果你已经具备了编译知识,想自己动手构建一个编译器的话,我还是推荐你去看鲸书和虎书;如果你想做程序优化,RICE大学的那本书更适合。

  总得来说,这是一本值得所有程序员一读的好书,但是相对于技术的发展,这本书的内容从现在看来过于狭隘和抽象。如果想要比较彻底地了解编译器对程序语言的作用和影响,这本书是远远不够的。

  23.深入理解计算机系统

  国内的教材,只重片面,学完以后只见树木,不见森林。这本书从程序的视角帮读者去理解问题,推荐想走程序员这条道路的人从头到尾读完。读完后将受益匪浅。


经典书籍推荐,主要是linux C方面的,我把我看过或者了解的简单说一下。(摘自一武大研究生学长文章)

C语言:
C程序设计语言 -- 没有太细的看,而且修为不够,所以没啥感觉
C和指针 -- 感觉这本书倒很适合做大一的教材,比较经典。
C陷阱与缺陷 -- 两天就能看完吧,比较简单,只要了解一些变态语法就行。
C专家编程 -- 我没看。但九度貌似有word版总结这几本书的,那个word看完了。确实总结的很不错。
个人重点推荐C和指针 + C陷阱缺陷


C++
C++ Primer -- 看了两遍吧;实习生面试前一遍;暑假一遍;
高质量程序设计指南C/C++ -- 6月初看的一遍,这本书很不错,很多黑体重要结论,引经据典,回答C++的问题能够拎上的话加分不少。
深度搜索C++对象模型 -- 6月份看的,有点小难,而且意义不是很大,了解一个逻辑模型就可以了,而且里面本身就有很多错误。
STL源码剖析 -- 暑假看的更是扫描的看的。重原理,轻细节,纠结详尽的模板语法对菜鸟来说估计会死。
Effective C++ -- 每天整理两三个条款,我觉得这种条款类的书很适合闲暇时间看。
More Effective C++ -- 就挑了几个常考的条款看了看,挺好的。
Effective STL -- 仅看了几个条款。


软件基础知识,个人认为最好都通晓点:
数据结构 & 算法设计分析 -- 算法导论对我这菜鸟实在啃不动。就整了考研时李春葆的课本 + 清华那本计算机算法设计与分析。 
操作系统原理 -- 汤子瀛的课本 整了整进程调度 + 内存那块。
计算机网络 -- 谢希仁的课本 整了整网络层 + 传输层。
数据库系统实现 -- 结合pg源码看的。同样,也是看到编译执行,并发事务没看。
搜索引擎-信息检索实践 -- 9月中旬才买的书,忽悠搜索引擎用的,但整天在面试,基本没看。但看看挺好的。忽悠百度、搜狗、有道啥的有用。
大话设计模式 -- 就看了几个模式。本来就一个暑假,不可能样样都知道,实验室老板还逼着看Totem源代码(实验室基于PostgreSQL自己开发的扩展版数据库,代码更改了近三分之一啊感觉,也就不奇怪当年开发实验室自己数据库那帮人很多去搞Oracle DB2了,武大最后三年制变两年制的最后一届)
个人推荐:数据结构和算法最重要啊还是,另外,建议大家买的专业课考研资料不要卖啊。看重点很有用。


Linux/Unix程序设计部分
Linux程序设计,过年开学正月十五去光谷玩时在华科买的,5月份差不多主要部分就看完了。了解了这么些系统调用。啥的。
UNIX环境高级编程 6月18号 - 7月30号 看了两遍,并做了笔记。挺好的。
POSIX多线程程序设计 第二遍看APUE时附带看的,这本书很早就绝版了,电子版貌似也不多。
TCP/IP Sockets编程(C语言实现) 简单的入门书。200页很薄。
TCP/IP高效编程 真本书是条款的,44个条款。大概也就看了前十多个条款。挺好的,有时间的话这两本加起来基本可以了,UNIX网络编程那两卷加起来都可以镇宅用了,能看?
重点推荐UNIX环境高级编程 + TCP/IP高效编程啊。后边那本书44个条款对网络编程绝对是一个很好的总结。
另外,据说有本linux shell圣经很棒,没看过。可以去豆瓣找找。


应试啊,应试啊:
编程之美--至少今年很多题还出自这里面,必不可少。。。
程序员面试宝典 -- 三天就能看完,真要沦落到看这本书,那。。。除非技术正的大牛。。。
程序员求职成功路:技术、求职技巧与软实力培养 -- 就算看应试的书,个人推荐还是看这本吧,讲的很多都比较有深度。尤其前几章C内存的部分。
程序员面试攻略 -- 题目比较老,但是看看有助于思维发散。


何海涛博客:http://zhedahht.blog.163.com/  -- 不过现在也出书了,剑指offer。
结构之法、算法之道博客:http://blog.youkuaiyun.com/v_JULY_v/article/list/6?viewmode=contents
这俩博客真的不错,尤其后面结构之法算法之道,虽然博客风格烂,但是作为一个07还是08级的本科毕业生,花时间做总结,我这酱油菜硕吃结论剩饭的就不挑剔了,表示感谢。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值