11.30 每个计算机程序员至少应该读一次的前五本书籍

程序员书库(ID:CodingBook) 猿妹编译

综合自:https://www.quora.com/What-are-the-top-five-books-every-computer-programmer-should-study-at-least-once


国外知名网站 Quora上曾有一个问题调查: 每个计算机程序员至少应该读一次的前五本书籍是哪些?这个问题吸引了很多人回答。


每个计算机程序员至少应该读一次的前五本书籍


其中呼声最高的回答,得到了93.3K的阅读,270个赞同者,以下5本书是根据答案里面排名最靠前的五本书:



1、《编程语言实现模式》


每个计算机程序员至少应该读一次的前五本书籍


本书是一本很棒的讲述编译原理的书,作者举例讲解已有语言应用的工作机制,拆解、归纳出31种易于理解且常用的设计模式(每种都包括通用数据结构、算法、策略)。虽然示例是用Java编写的,但相信读者可以触类旁通,利用这些设计模式构建针对其他编程语言(既包括特定领域语言,也包括通用编程语言)的应用。


读者评论:

@匿名:标题的观点是关于本书的某个评价,觉得再贴切不过。这本书是野路子,不同于任何一本compiler的书,直接了当的描述implementation patterns(前端)。看看这本书的篇幅你就会知道,看了这本书,你并不会得到编译原理相关的太多知识的。你其实仍然需要一本诸如龙书这样的书来真正的学习编译原理相关的知识。不过依照本书中的这些patterns你是可以依葫芦画瓢写出一个所谓vm的。然后你可以思考一下,你究竟是要写compiler,还是需要用到fundamentals of compiling。



2、《计算机程序的构造和解释(原书第2版)》


每个计算机程序员至少应该读一次的前五本书籍


《计算机程序的构造和解释(原书第2版)》1984年出版,第2版中大部分重要程序设计系统都重新修改并做过测试,包括各种解释器和编译器。作者根据其后十余年的教学实践,还对其他许多细节做了相应的修改。


读者评论:

@苍穹之泪:作者寄语:“看懂难,应用更难!咀嚼咀嚼!” 只看正文:“原来如此”,做下习题:“CTMB”。本书风格,就是为展示厨刀的“简单”用法,于是把西瓜雕成了一朵花,然后放头牛出来让你“解一下”。当然啦,作者说了,你修炼成功后,将晋级为膜法师(Computer Wizard),乃至荣升为有小蜜替你工作(can-do-job)的大佬(Big Wheel)。



3、《算法导论(原书第3版)》


每个计算机程序员至少应该读一次的前五本书籍


本书选材经典、内容丰富、结构合理、逻辑清晰,对本科生的数据结构课程和研究生的算法课程都是非常实用的教材,在IT专业人员的职业生涯中,本书也是一本案头必备的参考书或工程实践手册。


读者评论:

@tartaros:看了很久了,有很多帮助。非常经典的教材,虽然很多东西暂时用不上,但开阔了思路。



4、《计算理论导引》


每个计算机程序员至少应该读一次的前五本书籍


本书由计算理论领域的知名权威 Michael Sipser 所撰写。他以独特的视角,系统地介绍了计算理论的三个主要内容:自动机与语言、可计算性理论和计算复杂性理论。


读者评论:

@陈炬:让人了解计算机的本质,它的能力与它的局限性。计算理论课的教材,上课上的很累,但很有收获。我觉得没读过这本书的不好意思说自己是Computer Science专业毕业的。



5、《人工智能》


每个计算机程序员至少应该读一次的前五本书籍


本书最新版全面而系统地介绍了人工智能的理论和实践,阐述了人工智能领域的核心内容,并深入介绍了各个主要的研究方向。全书仍分为八大部分:第一部分“人工智能”,第二部分“问题求解”,第三部分“知识与推理”,第四部分“规划”,第五部分“不确定知识与推理”,第六部分“学习”,第七部分“通信、感知与行动”,第八部分“结论”。


读者评论:

@匿名:国内的人民邮电出过一本中译版,说老实话翻译的很差,非常影响阅读,如果真的有心读这本书的话,还是要看英文原版,这本书是一本指导性的AI书籍,哪个方向都涉及的不深,不过当需要查阅资料,尤其是概念性的资料的时候,这本书却是一个很不错的选择


分享到:


相關文章: