Lua

编辑
所属分类:程序设计
技能介绍

  Lua

  Lua在葡萄牙语中是月亮的意思,1993年由巴西的Pontifical Catholic University开发。该语言是由一个来自计算机图形技术组织(Tecgraf)的团队(Roberto Ierusalimschy、Waldemar Celes、Luiz Henrique de Figueiredo)开发,并作为自由软件发行。Lua开发小组的目标是开发一种小巧、高效且能够很好地和C语言一起工作的编程语言。在脚本语言领域,Lua是最快、最高效的脚本语言之一,因为它有资格作为游戏开发的备选方案。

  Lua,A lightweight、portable、dynamic scripting language

  Lua是一种轻量小巧的脚本语言,用标准CANSI C编写并以源代码形式开放。其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制的功能。

  Lua 和传统的脚本语言不同,它是一种易整合语言(glue language)。一般的脚本语言用于控制执行重复的任务,而易整合语言可以让使用者把其他语言开发的功能整合在一起。这样就让脚本程序员有了更大的发挥空间,而不仅仅局限于执行命令。程序员可以使用这种脚本在底层语言开发的功能模块基础上储行间新的命令。

  Lua本身是一种简单且强大的编程语言,可以让脚本程序员完成大量的处理。这种语言拥有很强大的字符处理和数学运算能力、灵活的数据结构,以及定义函数的功能。但是如果没有整合其他环境的组件的魔力,这些基础的特性也就丧失了。

  Lua非常适合作为更强大的底层编程语言的搭档,如C++。Lua能让游戏开发者快速建立游戏原型甚至是完整的游戏。游戏开发者可以在没有程序员帮助下,构建整个图形界面。它还可以用来管理游戏进度文件的保存和载入,而且很容易阅读和调试。在游戏开发领域,Lua能帮助开发者构建一个高效且方便验证游戏想法的环境。

  按Lua开发团队的描述,Lua是一个可集成在应用程序中的“语言引擎”。它本身是一种编程语言,提供很多可以和应用程序交换数据的API。另外,Lua还能够通过整合C++的模块来进行功能的扩展。和程序开发语言如C++配合使用时,Lua也可以用来作为特定项目的框架语言。这种易扩展性使得Lua非常适合作为游戏开发的环境。

  作为独立的编程语言,Lua功能有限,只能用作教学工具。Lua只有集成在其他语言中才能发挥它的价值。它的实现非常简单。通过LuaClue函数就可以和底层语言通信,在用户自定义LuaGlue函数的基础上,还可以进一步被扩展,甚至成为一种新的编程语言。

  Lua应用场景

  游戏开发

  独立应用脚本

  Web应用脚本

  扩展和数据库插件

  安全系统

  为什么要学习Lua语言,Lua语言能做什么呢?

  能够自己编写游戏脚本,除了可以编写游戏辅助脚本之外,还有很强大的功能,特别是在游戏开发领域的脚本编写,有着广泛的应用。

  小结

  Lua是一个小巧的脚本语言,是巴西里约热内卢天主教大学里的一个研究小组开发完成的

  Lua由标准C编写而成,几乎在所有操作系统和平台上都可以编译运行。

  Lua脚本可以很容易的被C/C++代码调用,也可以反过来调用C/C++的函数,使得Lua在应用程序中可以被广泛应用。

  Lua并没有提供强大的库,这是由它的定位决定的。所以Lua并不适合作为开发独立应用程序的语言。

  Lua在游戏领域的应用

  脚本的概念在程序中十分重要,在游戏开发领域,它更是决定性的。脚本语言让程序员可以区分游戏开发的“硬核部分”和“软核部分”。“硬核部分”一般对计算性能要求很高,在开发过程中变更较少、重用性很高。图形引擎和人工智能模块是其中的代表。这些模块最适合使用C或C++这样的语言开发,可以提供更好的性能。“软核部分”控制“硬核部分”来创建最后的图形和大量的物体。这个部分更适合使用Lua这样的脚本语言开发,可以为程序员在尝试、测试和改变游戏代码上提供更多的灵活性。

  Lua作为脚本语言的诞生是因为两个特别的行业需求,它们都和游戏相关。应用程序需要灵活的数据描述语言和简单的行为描述脚本语言(例如,数据验证),这些就是Lua最初的目标:可移植性、小巧、无限制。它必须是可移植的,因为目标客户的计算机是多样化的。它还必须小巧,不能让程序因为使用它而变得庞大,因为一些目标机器空间是很有限的。同时,以往的经验告诉我们,编程语言不能限制程序员,因为在开发程序时,往往会出现我们意想不到的需求和用法。因此,在第一个版本开始,Lua就因为它自身的简单性而表现出优异的性能。后来,因为这种简单性被证明是十分有价值的,所以我们将它加到了Lua的目标中。