《Network World》主编谈“Lua编程语言”

译文
移动开发 iOS
Lua(葡萄牙语中意为“月亮”)首次发布于1993年,旨在成为一门嵌入式的解释性脚本语言。它具有小巧、快速、非常简洁的优点,还异常灵活,因而得以进入一系列广泛的商业应用领域。

【51CTO独家译稿】作为著名IT杂志的《Network World》主编马克·吉布斯(Mark Gibbs)有一段时间没有谈论编程语言了,这次马克将介绍免费、开源的Lua语言,这门语言采用了麻省理工学院(MIT)许可证。

Lua编程语言

以下为全部译文:

Lua(葡萄牙语中意为“月亮”)***发布于1993年,旨在成为一门嵌入式的解释性脚本语言。它具有小巧、快速、非常简洁的优点,还异常灵活,因而得以进入一系列广泛的商业应用领域。

比如说,Adobe的Photoshop Lightroom其用户界面就是用Lua编写的;罗技的Squeezebox音乐播放器和Damn Small Linux(DSL)操作系统也是用Lua编写的。据维基百科解释,DSL使用“Lua,为命令行实用程序提供了对桌面友好的界面,又不占用大量的磁盘空间。”

我得扯开话题,特别指出这一点:Damn Small Linux眼下步履蹒跚,这个观点出自维基百科关于DSL的那篇文章,还有许多人在博文上的留言。维基百科称:“由于该项目的发起者与主要开发者之间发生内讧,DSL的开发似乎陷入了停滞不前的困境;这个项目前途未卜,这让用户们大为失望。”的确让人失望;而鉴于DSL网站似乎死气沉沉(这款操作系统的4.4版本发布后,网站在2008年似乎没有了人气),祝DSL走好。

不管怎样,Lua学起来很容易,你可以从Lua网站下载它,它有多个实现版本。

用Lua编写的***个经典程序相当普通:

  1. print("hello"

这个命令输出的当然是“hello”。更有意思一点的Lua是个阶乘计算器:

  1. function fact (n) 
  2. if n == 0 then 
  3. return 1 
  4. else 
  5. return n * fact(n-1) 
  6. end 
  7. end 
  8. print("enter a number:"
  9. a = io.read("*number") -- read a number 
  10. print(fact(a)) 

但也是更有意思一点而已。

这段代码来自Roberto Ierusalimschy所著的《Lua编程》(Programming in Lua),该书是针对Lua 5.0编写的。现在,Lua的***版本是版本5.1。这本书有点过时了,但仍不失为一本实用的入门书。

Lua是一门引人入胜的语言,有许多示例,可以访问Luaforge网站。你可以试一下交互式在线版

如果你需要更多***的说明文档,市面上有许多图书可供挑选,也可以完全像许多编程人员那样,直接查阅官方的Lua参考手册

现在,假设你拥有iPad,可能想要试一下Codea for iPad,这个编程工具由名称很古怪的Two Lives Left开发商发布,它把Lua解释器嵌入到了为iPad设计的iOS应用程序中。

这是个外观漂亮的程序,有优美的图形和设计精良的用户界面。

从起始屏幕,你可以入一个现有的项目,也可以新建一个项目。Codea项目包括:分页窗口(构成应用程序的类在不同的页上)和执行时候的左右两栏布局,上面有程序参数面板、文本输出面板、左边的执行控件(后退、开始、暂停和重置)以及右边的程序图形显示面板。

Codea编程环境真正吸引人的地方是,它与iPad集成得非常好,简直是浑然一体。如果你想更改数字,只要用手指戳一下数字,然后放开,用键盘来编辑,也可以按住,同时上下拖动,即可增加或减小数值。想更改颜色,只要用手指戳一下值,就会弹出颜色选择器。你还可以选择精灵(sprite),操作方式几乎一样。还内置了Lua的完整说明文档。

演示程序给人留下了很深刻的印象。一款演示程序模拟了你在移动iPad时,一块布很自然地摆布(Codea系统能够访问来自方向感应器的数据,并同时检测多个屏幕触摸动作),有几个多点触控演示、几个场面相当复杂的游戏以及鼓机。

缺少了什么功能?缺少了在本地或与外部资源之间导入或导出代码的功能,缺少了访问网络功能的功能,无法隐藏左侧的控制面板,以便应用程序可以全屏运行,还缺少了各种代码保护功能,所以其实无法编写实际用在贵企业的应用程序。Codea开发者Simeon Nasilowski告诉我,他打算进行各种各样的改进,很可能包括我提出的所有需要改进的方面;但眼下,他还没有答应给出时间表。

Simeon告诉我,自Codea在10月26日发布以来,大约已售出了约10000套,每套售价7.99美元,这个成绩相当骄人。Codea在满分是5分的评价中得到了4分。


[[50008]]

作者简介:30多年来,作为《Network World》的主编马克·吉布斯发表了大量IT产业的文章。同时,马克还是负责英国Novell公司技术服务管理运作的联合创始人。

【51CTO译稿,非经授权谢绝转载,合作媒体转载请注明原文出处、作者及51CTO译者!】

 

责任编辑:佚名 来源: 51CTO.com
相关推荐

2023-04-10 18:34:25

编程语言开发

2023-12-21 15:37:31

编程语言FortranC语言

2013-12-12 17:30:03

Lua例子

2011-12-20 09:45:47

Lua 5.2Lua

2015-02-09 09:51:06

2012-03-21 09:12:24

编程

2011-08-04 14:22:11

编程语言排行榜

2017-11-28 16:57:18

2024-04-11 13:13:27

2020-03-17 10:24:12

Go语言停止写障碍

2011-08-23 13:27:46

Luaglobal变量

2013-12-12 15:59:23

Lua脚本语言

2011-07-08 10:57:25

Lua

2017-10-18 12:53:21

AI自主编程遗传算法

2020-12-07 12:34:33

开发板鸿蒙hello world

2011-08-25 15:51:10

Lua脚本

2018-09-27 16:35:01

程序员编程语言Python

2024-03-18 13:43:20

Linux架构

2011-08-22 17:41:23

LUA 脚本 语言

2020-03-25 14:40:45

语言编程语言Hello
点赞
收藏

51CTO技术栈公众号