zoukankan      html  css  js  c++  java
  • 龙、虎、鲸书杂谈

    关于编译有三本书:

    龙书: 《Compilers:Principles, Techniques, &Tools》

    虎书:《Modern Compiler Implement in C》 这本书还有JAVA和ML版本

    鲸书:《Advanced Compiler Design and Implementation》

    这三本书在编译领域非常出名,其中名气最大的应该属于龙书了,也是目前仍然有版本在印刷发行的。虎书和鲸书国内貌似没有继续发行了,我找英文版找了好久,都没有找到合适的,只好买的二手的旧书。三本书凑齐也挺不容易的。

    这三本书,到目前为止,除了有时候查东西翻翻,正经读的最多的还算是龙书。虎书和鲸书都只读了一章。个人也想理一下这三本书的思路,好利于自己的读书和学习。曾经看到有人觉的最适合入门读的是鲸书,这点我实在是不敢苟同。除非是个人编译基础非常好,而且重点在于研究编译里的优化,可以直接读鲸书。其他的情况,都不建议直接读鲸书的。

    龙书,对整个编译的过程,介绍的很详细,而且很多时候,对编译理论中很多的技术都介绍的很详细,给人感觉像是百科全书的感觉。你能用到的,基本在龙书里都能找到。正是这个原因,也让这本书读起来有点费劲。这本书对编译理论中的优化部分覆盖的不多,等于是它和鲸书刚好结合起来,构成编译的大百科,一个不侧重优化,一个侧重优化,都很详尽,将所有涉及的知识都覆盖了。

    虎书更像是龙书和鲸书结合之后的简化版本,是建议作为学习编译的教材一类的书,既可以一学期学完,只学编译的基本知识,也可以两学期学完,继续学编译的高级topics,大部分也是关于优化的内容。虎书还有一个特别好的有点,就是很接近与实际,谈一些理论知识的时候,都会去拿实际的代码去说明一件事情,这样更加的利于学习时候的理解,而不是被一大堆的理论完全搞的摸不着头脑。

    所以综合来看,如果技术不是非常的扎实,那还是建议从虎书开始学习,边学边练,慢慢的把基础打扎实,然后再继续龙书和鲸书的学习。编译原理是大学本科时候的必修课,可能很多人觉的自己学过了,基础应该可以,但是依然推荐从虎书开始,实际工作中,虽然大家都学过编译原理了,但是到最后能把整个流程的大致环节说清楚的,就算是不错的了。

  • 相关阅读:
    利用ganymed-ssh2远程执行其它Linux机器上的shell命令
    ZooKeeper 笔记(4) 实战应用之【消除单点故障】
    ZooKeeper 笔记(3) 实战应用之【统一配置管理】
    ZooKeeper 笔记(2) 监听数据变化
    ZooKeeper 笔记(1) 安装部署及hello world
    intellij idea 高级用法之:集成JIRA、UML类图插件、集成SSH、集成FTP、Database管理
    hadoop: hive 1.2.0 在mac机上的安装与配置
    mac 下卸载mysql的方法
    mac OS X Yosemite 上编译hadoop 2.6.0/2.7.0及TEZ 0.5.2/0.7.0 注意事项
    hadoop: hbase1.0.1.1 伪分布安装
  • 原文地址:https://www.cnblogs.com/ainima/p/6331924.html
Copyright © 2011-2022 走看看