你知道Lua语言吗?

Lua语言,也许几年前大家都没有听说过,他是巴西人开发的一个十分高效的动态语言,针对的就是嵌入在宿主程序中做扩展应用。

说他高效,是和很多其他动态语言相比,如JavaScript(Spidermonkey实现或JScript实现)、Python、Ruby等等,无论在执行速度还是内存占用上,都体现出很大优势。(见测评

而今天也许很多人都听说了,因为暴雪公司开发魔兽世界旗帜鲜明地应用了Lua语言来运行扩展脚本。

听朋友说,WOW的扩展开发社区,乍一看,就以为是Lua社区。而Lua也有一个十分活跃的社区,并不比Python、Perl的差。(http://lua-users.org/)

我在2002年的时候,也是因为研究游戏编程才了解了Lua语言,当时看到介绍说他的高效,适合做游戏开发的Scripting,然后我就十分喜欢这个语言。之后我和Nicholas翻译了他的Reference Manual,不过一直没翻译完。剩下的转交给luachina去完成了。

本来我很想推广一下这门语言,即使拿来做研究也很好。Lua使用了一个Clean C来实现他的所有功能,所谓Clean C,就是一个十分精简的C语言,比ANSI还精简,这样可以达到很好的兼容性,Lua可以很方便的在各种C/C++语言编译器上完成编译,虽然他本身源代 码只包含了Unix的Makefile。而脚本的执行性能更是值得去好好研究。不过似乎大家都不感兴趣,不过好在WOW的成功,也把Lua带给了中国的开 发人员。

Lua本身并不支持基于类的面向对象,和JavaScript一样是基于原型的,有一些人实现了Lua的扩展可以模拟基于类的编程,不过我并不赞成这样,原因可以看我前面介绍Self的Blog

发表评论

电子邮件地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.