- 自制編程語言
- (日)前橋和彌
- 1016字
- 2021-11-24 18:03:46
譯者序
能翻開這本書的人,想必對編程都有著濃厚的興趣。大部分編程愛好者都會利用業(yè)余時間寫一些小程序、開源項目作為消遣,卻很少有人會想要自己創(chuàng)造一門編程語言,這是為什么呢?
在翻譯本書之前,如果別人問我要不要嘗試自制編程語言,我一定會覺得他瘋了。因為在潛意識里,我一直認為制作編程語言應(yīng)該是C語言之父丹尼斯·里奇這樣的業(yè)界大牛才能完成的浩大工程,作為一個普通程序員只要安于本分,用好已有的語言就已經(jīng)足夠了。
在翻譯完本書后,我才發(fā)現(xiàn)自己真的是大錯特錯。原來創(chuàng)造一門編程語言,只需要一些C語言基礎(chǔ)、一些正則表達式知識、加上不斷思索的大腦就可以做到。如果你還覺得難以置信,那么就請看看在這本不算厚的書中,作者居然已經(jīng)創(chuàng)造了兩門編程語言,并且都具備高級編程語言的所有特性。
其實一開始的問題已經(jīng)有了答案:很多看似難如登天的事情,一旦真的下決心去做,你會發(fā)現(xiàn)難度并沒有想象中那么高,只是我們往往缺少一顆勇于挑戰(zhàn)的心罷了。
本書記錄了作者一步一步從零創(chuàng)造出編程語言的全過程,作者并不是什么行業(yè)精英,而是像你我一樣的普通開發(fā)者。整本書中也沒有用特別復雜的算法或酷炫的編程技巧,但是就憑借著一行行簡單樸實的編程語句,作者最終完成了一個普通開發(fā)者看來幾乎不可能完成的任務(wù)。閱讀完本書后,除了自制編程語言的知識,我相信讀者還能收獲到一些更重要的東西。
本書原文講到了日文編碼的知識,為了更好的將內(nèi)容精髓呈現(xiàn)給讀者,我們大膽地將涉及日文編碼的部分全部更改為中文編碼的知識,譯者劉卓還對此編寫了很多原創(chuàng)的補充內(nèi)容,力求能與原書保持同樣的水平。如有錯誤或疏漏,還請讀者隨時指正。
讀完全書后,你會對編程語言的原理和實現(xiàn)方式有一個全面深入的了解,比如你會明白為什么Java中String類型明明是對象類型卻不能改變其內(nèi)容,C語言中為什么a++ + ++b這樣看似合理的語句卻會報錯等。以前知其然而不知其所以然的問題都會得到答案,這對日后進行更高階的開發(fā)有很大的幫助。
更重要的是,你可以獲得自制編程語言的能力,從而可以去做很多以前敢想?yún)s沒有能力做的事情,比如我現(xiàn)在就在構(gòu)思能否創(chuàng)造一門以文言文和中國古代文化為基礎(chǔ)的編程語言:易經(jīng)八卦就是天然的二維矩陣,《九章算術(shù)》則有不少基礎(chǔ)算法……相信讀者還會有更加天才有趣的想法出現(xiàn)。如果能運用本書中的知識最終將其實現(xiàn),那么這將是對翻譯工作最好的肯定。
最后,在這里代表其他二位譯者一并感謝在翻譯過程中給予我們幫助和支持的家人、同事,讓這本書最終得以問世。
徐謙
2013年中秋
- Beginning Java Data Structures and Algorithms
- PostgreSQL技術(shù)內(nèi)幕:事務(wù)處理深度探索
- Wireshark Network Security
- Bootstrap 4:Responsive Web Design
- 網(wǎng)站構(gòu)建技術(shù)
- Unity 5 for Android Essentials
- R Deep Learning Cookbook
- 深入理解Android:Wi-Fi、NFC和GPS卷
- Android開發(fā)案例教程與項目實戰(zhàn)(在線實驗+在線自測)
- 微信小程序全棧開發(fā)技術(shù)與實戰(zhàn)(微課版)
- AIRIOT物聯(lián)網(wǎng)平臺開發(fā)框架應(yīng)用與實戰(zhàn)
- 寫給程序員的Python教程
- Cocos2d-x by Example:Beginner's Guide(Second Edition)
- Android系統(tǒng)下Java編程詳解
- Android移動應(yīng)用開發(fā)項目教程