Lua

编辑
本词条由“匿名用户” 建档。

Lua(/ˈluːə/LOO-ə;来自葡萄牙语:lua[ˈlu.(w)ɐ]意思是月亮)是一种轻量级、高级、多范式的编程语言,主要为应用程序嵌入而设计。Lua是跨平台的,因为编译字节码的解释器是用ANSIC编写的,Lua有一个相对简单的CAPI来嵌入到应用程序。Lua起源于1993年,是一种用于扩展软件应用程序的语言,以满足当时日益增长的定制化需求。它提供了大多数程序化编程语言的基本设施,但不包括更...

目录

Lua(/ˈluːə/LOO-ə;来自葡萄牙语:lua[ˈlu.(w)ɐ]意思是月亮)是一种轻量级、高级、多范式的编程语言,主要为应用程序嵌入而设计。Lua是跨平台的,因为编译字节码的解释器是用ANSIC编写的,Lua有一个相对简单的CAPI来嵌入到应用程序。Lua起源于1993年,是一种用于扩展软件应用程序的语言,以满足当时日益增长的定制化需求。它提供了大多数程序化编程语言的基本设施,但不包括更复杂或特定领域的功能;相反,它包括了扩展语言的机制,允许程序员实现这些功能。由于Lua旨在成为一种通用的可嵌入的扩展语言,Lua的设计者专注于改善其速度、可移植性、可扩展性和开发中的易用性。

历史

编辑

Lua由RobertoIerusalimschy、LuizHenriquedeFigueiredo和WaldemarCeles于1993年创建,他们是巴西里约热内卢天主教大学的计算机图形技术小组(Tecgraf)的成员。从1977年到1992年,巴西对计算机硬件和软件采取了强有力的贸易壁垒政策(称为市场储备)。这些原因导致Tecgraf从头开始实施它所需要的基本工具。Lua/的前身是数据描述/配置语言SOL(简单对象语言)和DEL(数据输入语言)。它们是1992-1993年在Tecgraf独立开发的,为两个不同的项目增加了一些灵活性(都是巴西石油公司工程应用的互动图形程序)。由于SOL和DEL中缺乏任何过程控制结构,Petrobras感到越来越需要为它们增加完整的编程能力。在《Lua的演变》中,该语言的作者写道。1993年,xxx真正的竞争者是Tcl,它被明确地设计为嵌入到应用程序中。然而,Tcl有一个陌生的语法,没有为数据描述提供良好的支持,而且只在Unix平台上运行。我们没有考虑LISP或Scheme,因为它们的语法并不友好。在当时统治Tecgraf的自由、自己动手的氛围中,我们很自然地尝试开发自己的脚本语言,........。由于该语言的许多潜在用户并不是专业的程序员,因此该语言应该避免晦涩的语法和语义。新语言的实现应该是高度可移植的,因为Tecgraf的客户拥有非常多样化的计算机平台。最后,由于我们预计其他Tecgraf产品也需要嵌入脚本语言,新语言应该遵循SOL的例子,并作为一个带有C语言API的库。Lua1.0的设计方式是,它的对象构造器,与目前轻巧灵活的构造器风格略有不同,它结合了SOL的数据描述语法(因此被称为Lua:Sol在葡萄牙语中是指太阳,Lua是指月亮)。Lua的控制结构语法在很大程度上借鉴了Modula(if、while、repeat/until),但也受到CLU(多重赋值和函数调用的多重返回,作为引用参数或显式指针的更简单的选择)、C++(允许局部变量只在我们需要的地方声明的聪明想法)、SNOBOL和AWK(关联阵列)的影响。)

Lua语言交换式编程

在Dr.Dobb'sJournal上发表的一篇文章中,Lua的创造者还说,LISP和Scheme的单一的、无处不在的数据结构机制(列表)对他们决定发布作为Lua的主要数据结构有很大影响。随着时间的推移,Lua的语义越来越受到Scheme的影响,特别是随着匿名函数和全词范围的引入。许多功能在Lua的新版本中被添加。5.0版之前的Lua版本是在类似于BSD许可证的许可证下发布的。从5.0版本开始,Lua是在MIT许可下发布的。两者都是许可性的自由软件许可证,而且几乎是相同的。

特点

编辑

Lua编程Lua通常被描述为一种多范式的语言,它提供了一小套通用的功能,可以被扩展以适应不同的问题类型。Lua不包含对继承的明确支持,但允许用元数据库来实现它。同样,Lua允许程序员使用它的单表来实现命名空间、类和其他相关的功能;一流的函数允许使用函数式编程中的许多技术;完全的词法范围允许细粒度的信息隐藏以执行最小化原则。

内容由匿名用户提供,本内容不代表vibaike.com立场,内容投诉举报请联系vibaike.com客服。如若转载,请注明出处:https://vibaike.com/189973/

(5)
词条目录
  1. Lua
  2. 历史
  3. 特点

轻触这里

关闭目录

目录