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

前言

為什么編寫本書

Lua是一門強大、高效、輕量、可嵌入的腳本語言。Lua語言設計十分精巧,在一個很小的內核上可以支持函數式編程、面向對象編程、元編程等多種編程范式。以本書完稿時的最新版本Lua 5.3.4為例,全部代碼(包括Lua虛擬機、編譯器、標準庫等)僅有2萬多行,這其中還包括注釋和空行。

Lua語言大約于1993年誕生于巴西PUC-Rio大學,之后在游戲領域大放異彩,被很多游戲客戶端選為腳本語言,比如知名游戲《魔獸世界》《模擬城市4》《憤怒的小鳥》等。很多流行的游戲引擎也選擇Lua作為腳本語言,比如CryENGINE2、Cocos2d-x及Corona SDK等。另外,也有很多游戲服務端采用C/C++搭配Lua的開發模式。除了游戲領域,Lua語言在其他地方也有很多應用,例如被廣泛使用的NoSQL數據庫Redis就使用Lua作為腳本語言擴展其能力。

相信自己動手設計并實現一門編程語言是每個程序員都會有的一個夢想,目前國內也已經出版或引進了一些指導讀者自己實現編程語言的書籍。不過這些書籍要么只介紹了語言實現環節中的一小部分,無法縱觀全局;要么只討論某種大幅裁減后的簡化語言,離真正的工業語言還有一定距離。例如,我自己的《自己動手寫Java虛擬機》,只討論了Java虛擬機實現,沒有涉及Java編譯器和Java標準庫。

如上所述,之所以選擇Lua語言,就是因為它足夠小巧,并且有很好的流行度。麻雀雖小,五臟俱全,這使得我們可以在一本書的篇幅范圍內覆蓋虛擬機、編譯器、標準庫這三個方面的內容。希望讀者可以通過本書完整體驗一門編程語言的實現過程,為將來打造屬于自己的語言做好準備。這正是本書的與眾不同之處。

主站蜘蛛池模板: 南靖县| 玛多县| 清流县| 石阡县| 宁安市| 化州市| 临沧市| 沿河| 康保县| 共和县| 晴隆县| 布拖县| 嘉鱼县| 安溪县| 曲沃县| 彭阳县| 富民县| 玛沁县| 柳江县| 新乡县| 建始县| 连城县| 河曲县| 内乡县| 长沙市| 宣武区| 黑水县| 阿荣旗| 德化县| 天峨县| 澜沧| 宝丰县| 贺兰县| 临潭县| 萝北县| 临邑县| 宜君县| 阳曲县| 井冈山市| 兴宁市| 深水埗区|