什么是 Lua?Lua 是一种强大、高效、轻量、可嵌入的脚本语言。它支持过程式编程、面向对象编程、函数式编程、数据驱动编程和数据描述。 Lua 将简单的过程语法与基于关联数组和可扩展语义的强大数据描述结构相结合。Lua 是动态类型的,通过使用基于寄存器的虚拟机解释字节码来运行,并具有增量垃圾回收的自动内存管理,使其非常适合配置、脚本编写和快速原型制作。 Lua 从何而来?Lua 由巴西里约热内卢教皇天主教大学(PUC-Rio)团队设计、实现和维护。Lua 诞生并成长于 Tecgraf,即 PUC-Rio 以前的计算机图形技术组。Lua 现在位于 LabLua,这是 PUC-Rio 计算机科学系 的一个实验室。 名字的由来?“Lua”(发音为 LOO-ah)在葡萄牙语中表示“月亮”。因此,它既不是首字母缩写,也不是缩写,而是一个名词。更具体地说,“Lua”是一个名字,即地球的月亮的名字和这门语言的名字。与大多数名字一样,它应该用小写字母开头,即“Lua”。请不要将其写成“LUA”,这既难看又容易混淆,因为它变成了一个首字母缩写,对不同的人有不同的含义。所以,请正确地写“Lua”! 加入社区Lua 社区 有几个会面场所,您可以在那里学习并帮助他人,还可以通过其他方式做出贡献。其中一个焦点是邮件列表,它非常活跃且友好。 您可以通过参加Lua 研讨会亲自结识 Lua 社区的一部分成员。 支持 Lua您可以通过购买 Lua.org 出版的书籍和捐款来帮助支持 Lua 项目。 您还可以在 Zazzle 购买 Lua 产品,以帮助宣传 Lua。 Lua.org 是亚马逊关联公司,我们通过本网站中的链接进行的合格购买获得佣金。 |
为什么选择 Lua?Lua 是一种经过验证的、强大的语言Lua 已用于 许多工业应用(例如,Adobe 的 Photoshop Lightroom),重点是嵌入式系统(例如,巴西数字电视的 Ginga 中间件)和 游戏(例如,魔兽世界和愤怒的小鸟)。Lua 目前是 游戏中领先的脚本语言。Lua 拥有可靠的 参考手册,并且有 多本书籍介绍它。自 1993 年创建以来,Lua 的多个 版本 已发布并用于 实际应用程序中。Lua 在 HOPL III,第三届 ACM SIGPLAN 编程语言历史会议中亮相,时间是 2007 年。Lua 赢得了 2011 年前沿奖,颁奖方为 游戏开发者杂志。 Lua 速度快Lua 以性能著称。声称“与 Lua 一样快”是其他脚本语言的愿望。多项基准测试表明,Lua 是解释型脚本语言领域中最快的语言。Lua 不仅在经过微调的基准程序中速度快,而且在实际应用中也速度快。大量应用程序的很大一部分都是用 Lua 编写的。 如果您需要更快的速度,请尝试 LuaJIT,这是使用即时编译器的 Lua 的独立实现。 Lua 可移植Lua 分发在一个小包中,并且可以在所有具有标准 C 编译器的平台上开箱即用。Lua 可以在所有版本的 Unix 和 Windows 上运行,可以在移动设备(运行 Android、iOS、BREW、Symbian、Windows Phone)上运行,可以在嵌入式微处理器(例如 ARM 和 Rabbit,用于乐高 MindStorms 等应用程序)上运行,可以在 IBM 大型机上运行,等等。 有关 Lua 也是受限设备的良好选择的原因的具体说明,请阅读 Mike Pall 的 此摘要。另请参阅 Timm Müller 创建的 海报。 Lua 可嵌入Lua 是一个快速语言引擎,占用空间小,您可以轻松地将其嵌入到您的应用程序中。Lua 具有简单且有据可查的 API,允许与用其他语言编写的代码进行强集成。使用其他语言编写的库可以轻松扩展 Lua。用 Lua 扩展用其他语言编写的程序也很容易。Lua 已用于扩展不仅用 C 和 C++ 编写的程序,还用于用 Java、C#、Smalltalk、Fortran、Ada、Erlang 甚至其他脚本语言(例如 Perl 和 Ruby)编写的程序。 Lua 功能强大(但简单)Lua 设计的一个基本概念是提供元机制来实现功能,而不是直接在语言中提供大量功能。例如,尽管 Lua 不是一种纯面向对象语言,但它确实提供了元机制来实现类和继承。Lua 的元机制带来了概念经济性,并保持了语言的精简,同时允许以非常规方式扩展语义。 Lua 很小将 Lua 添加到应用程序中不会使其膨胀,因此还有助于其安全性。Lua 5.4.6 的 tarball包含源代码和文档,压缩后为 355K,未压缩为 1.4M。源代码包含大约 30000 行 C 代码。在 64 位 Linux 下,使用所有标准 Lua 库构建的 Lua 解释器占用 282K,而 Lua 库占用 470K。 Lua 是免费的Lua 是免费的开源软件,根据非常宽松的许可证(著名的 MIT 许可证)分发。它可用于任何目的,包括商业目的,绝对免费。只需下载并使用即可。 |