网站首页 > 技术文章 正文
程序员书库(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书籍,哪个方向都涉及的不深,不过当需要查阅资料,尤其是概念性的资料的时候,这本书却是一个很不错的选择
- 上一篇: 最受程序员推荐的20本书
- 下一篇: 网页设计师请接招,这10本网页设计书籍奉上,请慢用
猜你喜欢
- 2025-03-06 网页设计师请接招,这10本网页设计书籍奉上,请慢用
- 2025-03-06 最受程序员推荐的20本书
你 发表评论:
欢迎- 617℃几个Oracle空值处理函数 oracle处理null值的函数
- 610℃Oracle分析函数之Lag和Lead()使用
- 599℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 595℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 591℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 582℃【数据统计分析】详解Oracle分组函数之CUBE
- 572℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 560℃Oracle有哪些常见的函数? oracle中常用的函数
- 最近发表
-
- PageHelper - 最方便的 MyBatis 分页插件
- 面试二:pagehelper是怎么实现分页的,
- MyBatis如何实现分页查询?(mybatis-plus分页查询)
- SpringBoot 各种分页查询方式详解(全网最全)
- 如何在Linux上运行exe文件,怎么用linux运行windows软件
- 快速了解hive(快速了解美国50个州)
- Python 中的 pyodbc 库(pydbclib)
- Linux搭建Weblogic集群(linux weblogic部署项目步骤)
- 「DM专栏」DMDSC共享集群之部署(一)——共享存储配置
- 故障分析 | MySQL 派生表优化(mysql pipe)
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- 前端获取当前时间 (50)
- Oracle RAC (76)
- oracle恢复 (77)
- oracle 删除表 (52)
- oracle 用户名 (80)
- oracle 工具 (55)
- oracle 内存 (55)
- oracle 导出表 (62)
- oracle约束 (54)
- oracle 中文 (51)
- oracle链接 (54)
- oracle的函数 (58)
- 前端调试 (52)
本文暂时没有评论,来添加一个吧(●'◡'●)