書好就要強烈推薦——選自豆瓣《編譯器設計(第2版) 》書評
我現在在看這本書的原版,基本快看完了。我覺得對於對編譯有興趣,特別是後端優化有興趣的同學,這本書絕對是值得推薦的。
編譯技術是電腦科學中的顯學,無數學者專家們的心血凝結成汗牛充棟的資料,而且這些資料也隨著時間在飛速增加。因此,對於編譯來講,沒有那本書就是“一本足夠”了的,但是,這本書應該是最為接近這個目標的一本書了。
一般我們說得比較多的是三大經典,“龍書”,“虎書”和“鯨書”,最後一本我沒有看過,但是“龍書”和“虎書”讀過的部分都有一些缺點。“龍書”最為經典,沒有之一,對前端的講解是我看過的書中最為清晰和準確的。但是另一方面,即使是第二版,對後端的講解不夠現代化,提到SSA的只有半頁紙,很多地方有點微言大義的感覺。我覺得“龍書”中講後端,只有資料流分析——格和半群這些數學概念是如何對映到具體演算法中,這一部分非常精彩,這本書比不上。"虎書“則失之過於簡略,頁數最少,卻塞下大量內容,講解必然不過詳細。同時,我不習慣虎書中硬掰成ML風格的C語言,看著彆扭。
這本書是2011年出的,內容上說絕對現代化。第五章講IR時就引入了SSA。我覺得這個是很必要的,畢竟幾乎所有的實用編譯器都以SSA作為IR。後面提到的後端相關的概念,演算法等等,我作為一個工作和編譯沾點邊的人,發現這些也的確是實際工作中經常遇到的內容。換句話說,這本書中描述的內容更接近於真實的編譯相關工作。比如說,很少有編譯器會考慮直接在DAG上做公共表示式的刪除,一般都會用value numbering這樣一種更好的方法代替。做編譯的人有些可能連前端parser都不大懂,他們只會關心control dependence,data dependence之類的。這些概念和演算法,在這本書都有詳細的講解。
另外,這書相對第一版進步也不小。第一版的內容框架基本保留了,但是講解詳細了很多。特別是第一版中文版被翻譯毀了的情況下,讓人對這一版期待更多。
推薦下該書作者的講義,http://www.cs.rice.edu/~keith/512/2011/Lectures/。有些時候看不大懂,可以參考一下相應章節的講義,可能會有用。
最後宣告下,我不是託,也沒有看過中文版,上面的評論都只針對原版。據說郭旭是非常靠譜的譯者,希望這本書會讓他收穫更多的聲譽。
本文由思寇特.熊 (我愛巴赫) 發表在豆瓣《編譯器設計(第2版) 》的書評,題目為小編新增。
相關文章
- 強烈推薦10本程式設計師在家讀的書程式設計師
- 強烈推薦所有程式設計師都要看完的書籍程式設計師
- 強烈推薦|海量計算機程式設計相關電子書免費下載計算機程式設計
- 學習 Qt 程式設計的好書精品推薦!QT程式設計
- 好書推薦--Modern PHPPHP
- 好書推薦《Out of the Maze》
- 誰能推薦推薦好的 PHP 設計模式得書籍和有關框架核心得書籍PHP設計模式框架
- 書籍推薦:《API 設計模式》API設計模式
- 好書推薦《The-Little-Prince》
- mongodb三本好書推薦MongoDB
- 【好書推薦】推薦一份從入門到進階的機器學習書單機器學習
- Google 出品的 Java 編碼規範,強烈推薦!GoJava
- 強烈推薦的軟體
- java經典程式設計題30道題,強烈推薦Java程式設計
- 程式設計師強烈推薦的熱門免費api程式設計師API
- 推薦JS入門書:JavaScript DOM程式設計藝術(第2版)JSJavaScript程式設計
- JavaScript 伺服器端方向推薦書單(附簡評)JavaScript伺服器
- 【好書推薦】《劍指Offer》之硬技能(程式設計題7~11)程式設計
- 【好書推薦】《劍指Offer》之硬技能(程式設計題12~16)程式設計
- 【好書推薦】《劍指Offer》之硬技能(程式設計題1~6)程式設計
- 強烈推薦的 Chrome 外掛Chrome
- 書單推薦:每個程式設計師必看的11本書程式設計師
- 統計學書籍推薦
- 機器學習知識體系 (強烈推薦)機器學習
- 自學UI設計看什麼書好?UI
- 推薦書目
- 後端好書閱讀與推薦(續)後端
- 推薦幾本javascript與jquery的好書JavaScriptjQuery
- 推薦Java 看什麼書比較好?Java
- 自媒體工具有哪些?這幾款工具,強烈推薦
- 計算機書籍(必看推薦)計算機
- #好書推薦##好書奇遇季#三本書帶您快速深入掌握Spring Boot應用開發Spring Boot
- 程式設計師經典書籍推薦-附 PDF程式設計師
- 互動設計書單--西南交大課程推薦
- 1月書訊 | 編譯器頂級權威 Fred Chow(周志德)作序推薦,這本書終於來了編譯
- 使用 IntelliJ IDEA 匯入 Spark 最新原始碼及編譯 Spark 原始碼(博主強烈推薦)IntelliJIdeaSpark原始碼編譯
- 強烈推薦:程式設計師必須懂的資料庫知識程式設計師資料庫
- 後端好書閱讀與推薦(續六)後端
- 有沒有好的測試書籍推薦