最常被程序员们谎称读过的计算机书籍

2018 年 5 月 17 日 算法与数据结构

程序员书库(ID:OpenSourceTop) 编译

链接:http://www.billthelizard.com/2008/12/books-programmers-dont-really-read.html


马克·吐温曾经说过,所谓经典小说,就是指很多人希望读过,但很少人真正花时间去读的小说。这种说法同样适用于“经典”的计算机书籍。


像Stack Overflow这类的论坛上,经常会有“程序员最该读的计算机书籍有哪些”这样的问题出现,有那么几本书,一定会出现在名单中的前几名,所以,以下这些书你确实有必要去阅读以下


程序员最该读的计算机书籍


1、代码大全(Code Complete)——两届Software Jolt Award震撼大奖得主!

2、程序员修炼之道(The Pragmatic Programmer)

3、C程序设计语言( C Programming Language)(第2版)

4、重构:改善既有代码的设计(Refactoring: Improving the Design of Existing Code)

5、人月神话(The Mythical Man-Month)

6、编码——隐匿在计算机软硬件背后的语言(Code: The Hidden Language of Computer Hardware and Software)

7、Head First 设计模式(Head First Design Patterns)

8、编程珠玑(Programming Pearls)

9、Effective Java中文版(Effective Java (2nd Edition))or Effective C++(第三版)中文版

10、测试驱动开发(Test Driven Development: By Example)


也可点击《Stack Overflow上最受推荐的程序员书籍》查阅以上书籍详情。


上面这些书,我自己已经都读过了,相信就算不是很优秀的程序员也读过这些书。这里我就不一一评论这些书了,这些书在其领域里都可以堪称是神书,很多想要提升自己的程序员都会选择阅读这些书是有原因的


在人们备受推崇的计算机书籍中,还有一类书受到了独特的待遇。我称这些书为“最常被程序员们谎称读过的计算机书籍”。这并不代表说推荐这些书的人都没读过他们,而是很多人可能声称自己读过这些书,但事实上并没有。



最常被程序员们谎称读过的计算机书籍


1、算法导论



这本书的书名是我人为史上最具误导性的,它被许多大学广泛使用,通常被用于研究生水平的算法课程,事实上只要在大学里上过计算机课程的学生几乎都有一本这样的书。然而,除非你拥有计算机专业的硕士学位(并且是专门的算法领域的),否则的话,我觉得你顶多就只读了前面几章而已


由于标题的原因,英文“introduction”容易让人误解这是一本极为适合给初学者读的书,但事实并非如此,这本书对算法做尽可能详尽综合的介绍,就像其它一些随处可见的类似的书一样。



2 、编译原理



编译原理也叫龙书,它涵盖了编译器设计方面的所有知识,包括包括词法分析、语法分析、并行性检测、代码优化技术以及其他更高级的主题,不过不要把它推荐给只需要分析简单的包含数学公式或HTML字符串的程序员,只有你真的需要实现一个可用的编译器,否则根本运用不到这本书的所有内容,如果你把它推荐给一个只有简单文本解析能力的人,那么证明你压根自己也没读过它。



3、计算机程序设计艺术



我经常听到TAOCP将其描述为“每个程序员都应该阅读的”编程书籍系列。我觉得这是错误的,在我看来它是一本万能的参考书,如果你仔细通读这本书,可能你要花上几年时间还没读完,但是把它放在触手可及你的书架上确实是个不错的选择。


每当我碰到难题的时候,我也是先从其他书籍里找答案,走投无路了才选择TAOCP,因为十分复杂难懂,很理论,里面的示例也都是汇编语言,但是可观来讲,如果你在TAOCP上没有找到解决方案,那么基本可以认为这个问题基本无解,因为这本书涵盖的主题(内容)确实是十分全面。



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



这本书是唯一一本在这个清单里我从头到尾读过的书,读完之后,我发现不知道应该把它归到哪一类,这本书的问题在于书中的内容你都可以在其他书上看到过,这使得初学者很容易在维基百科上读过几篇设计模式的文章后,就在面试中宣称自己已经读过这本书了。


假如有更多的人花时间读这本书,那就不会出现这么多人试图将17种设计模式都塞到同一个日志框架里,这本书最好的部分是每一章节的内容都会解释什么时候适合使用什么模式,许多设计模式相关的书籍都做不到这一点。



5、C++程序设计语言



这本书与其说它是编程教材不如说它是本语言参考书,很多迹象都表明许多人都已经读过这本书了,因为除了它,剩下的没有太多的C++编译器可供选择的了


但是,开始希望学习C ++的程序员(甚至是其他语言的专家)不应该推荐他读C ++程序设计语言。而应该阅读C ++ Primer。


这篇文章的目的是想告诉如果你自己没读过这些计算机书籍,最好不要盲目的推荐给其他人,这样做的话很有可能误人子弟。相反的阅历丰富的人可能能更好的推荐一些书(如针对特定的领域,更多的面向特定的编程语言或针对不同编程技能水平去推荐)



●编号651,输入编号直达本文

●输入m获取到文章目录

登录查看更多
0

相关内容

书籍在狭义上的理解是带有文字和图像的纸张的集合。广义的书则是一切传播信息的媒体。
【2020新书】C++20 特性 第二版,A Problem-Solution Approach
专知会员服务
57+阅读 · 2020年4月26日
台湾大学林轩田机器学习书籍《从数据中学习》,216页pdf
【书籍】深度学习框架:PyTorch入门与实践(附代码)
专知会员服务
160+阅读 · 2019年10月28日
程序员精选:TensorFlow和ML前5名的课程
云栖社区
8+阅读 · 2018年8月27日
资源 | Python程序员深度学习“四大名著”之一
AI研习社
94+阅读 · 2018年8月25日
各编程领域最好的入门书籍
程序猿
27+阅读 · 2018年7月29日
NLP 学习秘笈,从入门到进阶 | 书单
人工智能头条
7+阅读 · 2017年12月25日
干货 | NLP 书单推荐!
翻译技术沙龙
11+阅读 · 2017年12月21日
书单 | NLP秘笈,从入门到进阶
机器学习研究会
3+阅读 · 2017年12月20日
Embedding Logical Queries on Knowledge Graphs
Arxiv
3+阅读 · 2019年2月19日
Logically-Constrained Reinforcement Learning
Arxiv
3+阅读 · 2018年12月6日
Efficient and Effective $L_0$ Feature Selection
Arxiv
5+阅读 · 2018年8月7日
Arxiv
3+阅读 · 2017年12月18日
VIP会员
相关资讯
程序员精选:TensorFlow和ML前5名的课程
云栖社区
8+阅读 · 2018年8月27日
资源 | Python程序员深度学习“四大名著”之一
AI研习社
94+阅读 · 2018年8月25日
各编程领域最好的入门书籍
程序猿
27+阅读 · 2018年7月29日
NLP 学习秘笈,从入门到进阶 | 书单
人工智能头条
7+阅读 · 2017年12月25日
干货 | NLP 书单推荐!
翻译技术沙龙
11+阅读 · 2017年12月21日
书单 | NLP秘笈,从入门到进阶
机器学习研究会
3+阅读 · 2017年12月20日
Top
微信扫码咨询专知VIP会员