了解Lua(官方翻译)
1.什么是Lua
Lua是一种强大,搞笑,轻量级,可嵌入的脚本语言。它支持过程编程,面向对象编程,函数编程,数据驱动编和数据描述。
Lua结合了简单的过程语法和强大的基于关联数组和可扩展语义的数据描述结构。Lua是动态类型的。通过使用基于注册表的虚拟机解释字节码来运行,并通过增量垃圾收集实现自动内存管理,这使得Lua非常适合适配,编程和快速原型设计。
2.Lua怎么来的
Lua的设计、实现和维护是由里约热内卢天主教大学的puco-Rio团队完成。Lua出生并成长于Tecgraf,前身是PUC-Rio的计算图形。
Lua现在位于LabLua,这是PUC-Rio的计算机科学系的一个实验室。
3.为什么取名Lua
Lua(读作LOO-ah)在葡萄牙语中的意思是月亮。因此她既不是首字母的缩写也不是缩写词而是一个名词。更具体的说,Lua是一个名字,月亮的名字和语言的名字。和大多数名字一样,它应该是小写字母加上首字母”Lua“。请不要把它写成”LUA”,那样即丑又让人困惑,因为这样它就编程一个缩略词,不同的人有不同的理解,因此,请把"Lua"写正确。
4.为什么选择Lua
(1)Lua是一种经过验证的,健壮的怨言。
Lua已经用于很多工业应用(如Adobe的Photoshop Lightroom),重点是嵌入式系统(如巴西数字电视的Ginga的中间件)和游戏(如魔兽世界和愤怒的小鸟)。Lua目前是游戏中领先的脚本语言,Lua 有一本可靠的参考手册,有基本关于它的书。自从1993年创建以来,已经发布多个版本并在实际应用程序中使用。Lua在2007年的第三接 ACMSIGPLANH编程语言历史会议Hopllll上做了专题介绍。Lua获得了《游戏开发者》杂志颁发的2011年前线奖。
(2)Lua是快速的
Lua的表现是名副其实的。声称”和Lua一样快“是其他脚本语言的一个愿望。几个基础准则表明,Lua是解释脚本语言领域最快的语言。Lua不仅在微调的基准程序中很快,在现实生活中也很快。大部分大型应用程序都是 Lua编写的。
如果你想要更快的速度,请尝试 luajit,它是使用实时编译器的Lua的独立实现。
(3)Lua是便携的
Lua分布在一个小包中,并在所有具有标准C编译器的的平台上构建开箱即用的版本。Lua运行在各种Unix和Windows上,运行在移动设备上(运行Android,IOS,BREW,Symbian,Windows Phone),运行在嵌入式微处理器上(如ARM和Rabbit等应用程序),运行在IBM大型机上,等等。
由于人特定的原因,Lua对于首先设备也是一个不错的选择,请阅读MikePall的总结,参见Timmy Muller创作的海报。
(4)Lua可嵌入
Lua是一个快速的语言引擎,占用空间小,可以很容易地嵌入到应用程序中。Lua只有一个简单且有良好文档记录的API,它允许与用其他语言编写的代码进行强集成。使用其他语言编写的哭很容易扩展Luau。使用Lua还可以很容易地扩展用其他语言编写的程序。Lua 已被用于扩展不仅在C和C++中编写的程序,而且还用于Java,c# ,Smalltalk,Fortran., Ada, Erlang,甚至在其他脚本语言中,如Perl和Ruby。
(5)Lua很强大(但很简单)
Lua设计中一个基本概念是提供实现特性的元机制,而不是直接在语言中提供一系列特性。例如Lua不是纯面向对象的语言,但它确实为实现类和继承提供了元机制。Lua的元机制带来了概念的经济性,并保持了语言的小型化,同时允许以非常规的方式扩展语义。
(6)Lua很小
向应用程序添加Lua不会让其膨胀。Lua5.3.5的tarball包含源代码和文档,压缩后297k,解压缩后1.2M。源代码包含大约24000行c。在64位Linux下,使用所有标准Lua库构建的Lua解释器需要247K,而Lua库需要421K。
(7)Lua是免费的
Lua是免费的开源软件,以非常自由的许可证(著名的MIT许可证)发布。它可以适用于任何目的,包括商业目的,绝对不需要费用。只要下载并使用它。
了解Lua(官方翻译)相关推荐
- WatchKit-Programming-Guide-Apple-Watch开发指南官方翻译及总结
鉴于CSDN的Markdown很多bug,大家请看这里: WatchKit-Programming-Guide-Apple-Watch开发指南官方翻译及总结 Overview ### Developi ...
- android屏幕分辨率详解 ldpi mdpi hdpi 程序UI自适应 《官方翻译》
2019独角兽企业重金招聘Python工程师标准>>> 看世界杯的空闲 时间,翻译一下 官方文档.分辨率 问题是大家都很关心的(720×480会不会悲剧),而关于这个问题,andro ...
- Zookeeper【最新版V3.4.6】- 官方翻译系列:Watch 机制的理解
2019独角兽企业重金招聘Python工程师标准>>> 1: https://cwiki.apache.org/confluence/display/ZOOKEEPER/Index ...
- openstack官方翻译+实践
OpenStack安装记 注意: 近期开始向OpenStack进军,请大家继续关注.也希望各位提出批评和改进意见,弥补我的不足.对于OpenStack我是个新手,一来以前都飘在CentOS中,这次对 ...
- 官方翻译不当导致的PowerShell运行失败一例
今天我在PowerShell.com看到一篇文章,是关于Gridview的应用,觉得挺好,决定自己尝试一下.但是实际操作的时候却失败了,然后开始了漫长的排错. http://powershell.co ...
- dojo 官方翻译 dojo/_base/array 版本1.10
官方地址:http://dojotoolkit.org/reference-guide/1.10/dojo/_base/array.html#dojo-base-array array模块dojo进行 ...
- 华为鸿蒙官方翻译_鸿蒙系统官方译名来了?华为在欧盟注册Harmony商标
鸿蒙系统官方译名来了?华为在欧盟注册Harmony商标 编者按:在下个月的华为开发者技术大会上,鸿蒙系统或将亮相.而在此之前,华为已经在欧盟注册了名为Harmony的商标,疑似鸿蒙官方译名. 根据外媒 ...
- dojo 官方翻译 dojo/json 版本1.10
官方地址:http://dojotoolkit.org/reference-guide/1.10/dojo/json.html#dojo-json require(["dojo/json&q ...
- 组复制官方翻译六、Upgrading Group Replication
https://dev.mysql.com/doc/refman/8.0/en/group-replication-upgrade.html 这个章节主要描述升级MGR的计划 基本的升级MGR成员的方 ...
最新文章
- Apache与Tomcat 区别联系​
- linux中iso文件怎么安装系统文件,我有linux的iso文件,要怎么安装系统
- java里的局部变量为什么不能加static?
- iOS: Crash文件解析
- 【数据结构与算法】之深入解析“基本计算器”的求解思路与算法示例
- ubuntu 开启ssh_CS学习笔记 | 22、通过SSH开通通道
- java线程池 锁_java多线程——锁
- css bug 集2
- 9.python-匿名函数(lambda)
- 一套解决方案,多个项目
- 上海GDD(谷歌开发者大会),第一天总结
- GIS基础软件及操作(十二)
- C# dataGridView控件 获取整行宽度 整列高度 设置某列宽度 设置某行高度
- 《unity2021》如何改成中文
- 日常开发效率神器【Hutool工具类】的使用
- HTML5-单、多选框,按钮
- npm --save-dev --save 的区别
- zbrush软件介绍
- ISO22000认证|企业申请ISO22000认证资料自查
- crm系统客户池功能流程泳道图