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

前言

為什么編寫本書

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

主站蜘蛛池模板: 图片| 兴文县| 威信县| 阿拉善左旗| 康保县| 南部县| 兴和县| 醴陵市| 哈尔滨市| 塔城市| 明水县| 威宁| 安泽县| 云安县| 屏东市| 广州市| 英吉沙县| 汝城县| 化德县| 安泽县| 旬阳县| 两当县| 罗城| 牟定县| 乌鲁木齐市| 闽侯县| 克拉玛依市| 黄大仙区| 那曲县| 峡江县| 大田县| 宁乡县| 宜良县| 镇宁| 吉木萨尔县| 新河县| 龙里县| 汨罗市| 伊宁市| 饶阳县| 望都县|