Lua语言特点

Lua 作为目前最为流行的、免费轻量级嵌入式脚本语言,在很多工业级的应用程序中被广泛应用,如 Adobe’s Photoshop,甚至是在一些著名的游戏程序中也被大量使用,如星际。

不仅如此,由于 Lua 具备很多特殊的优点,如语法简单(基于过程)、高效稳定(基于字节码)、可以处理复杂的数据结构、动态类型、以及自动内存管理(基于垃圾收集)等,因此在很多嵌入式设备和智能移动设备中,为了提高程序的灵活性、扩展性和高可配置性,一般都会选择 Lua 作为它们的脚本引擎,以应对各种因设备不同而带来的差异。

Lua特点

  1. Lua 是一个脚本语言。是目前速度最快的脚本语言。它能与 C 语言 以及 C++ 代码互相调用。

  2. Lua 脚本是跨平台的,是要使用 Lua 基本语法和标准库写的脚本,都是可以跨平台的(用了扩展库则不一定)。

  3. Lua 源码是 C 语言写的,因此可以编译出各个平台上的 lua 解释器、或者 lua 库。

  4. Lua 也能对面向对象编程,函数式编程,数据驱动式编程提供很好的支持。作为一个扩展式语言,Lua 没有 “main” 程序的概念:它只能嵌入一个宿主程序中工作,这个宿主程序被称作 embedding program 或简称为 host。

    宿主程序可以通过调用函数执行一小段 Lua 代码,可以读写 Lua 变量,可以注入 C 函数让 Lua 代码调用。这些扩展的 C 函数,可以大大的扩展了 Lua 可以处理事务的领域,这样就可以订制出各种语言,而它们共享一个统一的句法格式的框架。Lua 的官方发布版就包含了一个叫做 Lua 的简单的宿主程序,它用 Lua 库提供了一个保证独立的 Lua 解释器。

Lua优点

  1. 高效性

    作为一种脚本语言,Lua 的高效是众所周知的,因此在实际应用中,很多大型程序都会考虑将代码中易变的部分用 Lua 来编写。这不但没有明显降低系统的运行效率,反而使程序的稳定性和可扩展性得到了显著的提升。

  2. 可移植性

    在官方网站中提供了基于多种平台的发布包,如 Linux/Unix、 Windows、 Symbian 和 Pocket PC 等。

  3. 可嵌入性

    在语言设计之初,Lua 就被准确的定位为嵌入式脚本语言,因此 Lua 的设计者们为 Lua 提供了与其他编程语言之间的良好交互体验,这特别体现在和 C/C++ 之间的交互上。对于其他语言,如 Java 和 C#,也可以将 Lua 作为其嵌入式脚本引擎,并在代码中进行直接的交互。

  4. 简单强大

    尽管是过程化脚本语言,但由于 Lua 的设计者们为 Lua 提供了 meta-mechanisms 机制,这不仅使 Lua 具备了一些基本的面向对象特征,如对象和继承,而且仍然保持了过程化语言所具有的语法简单的特征。

  5. 小巧轻便

    在最新版本(5.2.0)的 Lua 中,仅仅包含了大约 20000 行的 C 语言代码,编译后的库文件大小约为 240K 左右,因此这对于很多资源有限的平台有着极强的吸引力。

  6. 免费开源

    MIT Licence 可以让 Lua 被免费的用于各种商业程序中。