官术网_书友最值得收藏!

譯者序

算上這本《自制編譯器》,圖靈的“自制”系列應該已經有6本了。從CPU到操作系統,從編譯器到編程語言,再到搜索引擎等具體的應用,儼然已經可以自制一套完整的計算機體系了。

“自制”系列圖書都是從日本引進并翻譯出版的,本人也有幸讀過其中幾本。可能有很多讀者和曾經的我一樣對“自制”抱有疑惑:“在時間就是金錢、時間就是生命的IT行業,為什么會存在這樣的自制風潮?為什么要自制呢?CPU可以用Intel、AMD,操作系統已經有了Windows、Linux,搜索引擎已經有了Google、Yahoo,編程語言及其對應的編譯器、解釋器更是已經百花齊放、百家爭鳴……”直到翻譯完本書,我才逐漸體會到自制是最好的結合實踐學習的方式之一。拿來的始終是別人的,要吃透某項技術、打破技術壟斷,最好的方法就是自制。并且從某種程度上來說,自制也是一種創新,可能下一個Google或Linux就孕育在某次自制之中。

自制編譯器的目的是了解當前實用的編程語言、編譯器和OS的相關知識,絕對不能閉門造車。因此作者使用的C?語言是C語言的子集,實現了包括指針運算在內的C語言的主要部分,通過自制一個C?語言的編譯器,能夠讓我們了解C語言程序編譯、運行背后的細節;OS選用Linux,能夠讓我們知曉Linux上的鏈接、加載和程序庫;匯編部分采用最常見的x86系統架構。作者自制的編譯器cbc能夠運行在x86架構的任何發行版本的Linux上,編譯C?代碼并生成可執行的ELF文件。

作者青木先生在致謝中提到了Linux和GNU工具等開源軟件的開發者。這也是本書的另一大特色:充分利用開源軟件和工具。從GCC到GNU Assembler再到JavaCC以及Linux,并非每一行代碼都是自己寫的才算自制,根據自己的設計合理有效地利用開源軟件,既可以讓我們更快地看到自制的成果,又能向優秀的開源軟件學習。如果要深入學習、研究,那么開源軟件的源代碼以及活躍的社區等都是非常有幫助的。而如果把自制的軟件也作為開源軟件上傳到Github上供大家使用,并根據其他開發者提出的Pull Request不斷改進軟件,那就更好了。

最后我要由衷地感謝本書的另一位譯者絕云老師以及圖靈的編輯。還要特別感謝我的外公,一位畢生耕耘于教育出版行業的老編輯。自己能有幸參加翻譯,和從小對出版工作的耳聞目染是密不可分的。

嚴圣逸

2016年4月于上海

主站蜘蛛池模板: 页游| 嘉义县| 西昌市| 乌兰察布市| 福海县| 阳曲县| 栾城县| 宣汉县| 青海省| 巨鹿县| 武汉市| 栾城县| 黄大仙区| 阿克苏市| 洪江市| 汾阳市| 峨山| 天柱县| 云安县| 沂源县| 皮山县| 理塘县| 泰来县| 阿拉尔市| 宁陕县| 白沙| 清新县| 汉沽区| 紫金县| 阿尔山市| 仪陇县| 大邑县| 中宁县| 台东县| 西平县| 江油市| 内丘县| 凤城市| 和平县| 安岳县| 镇雄县|