6

正如在“ Lua 作为一种通用脚本语言? ”中已经讨论的那样,Lua 目前可能不是桌面环境的最佳脚本语言。

但是你对未来有什么看法?Lua 会变得如此受欢迎,以至于很快就会有足够多的库可以像 Python、Ruby 或类似的东西一样使用它吗?

或者它会仅仅停留在它的魔兽世界中,仅此而已?

4

9 回答 9

12

我认为它有一个美好的未来,很多项目都开始采用它,因为它简单实用。

示例: Awesome WM(窗口管理器)

该项目最近发布了第 3 版,其中包含一个完全用 Lua 编写的新配置系统。允许您将配置文件写成程序、循环、布尔值、数据结构。我个人喜欢这样一个系统的语法和灵活性,我认为它有很大的潜力。

如果它在未来变得更受欢迎,我不会感到惊讶。

布莱恩·G

于 2008-11-06T19:29:17.773 回答
6

我想答案从“这取决于你想如何使用它......”开始。

如果您正在编写通用业务应用程序(从数据库中获取数据,在网页或窗口中显示数据,将数据保存到数据库中),Lua 已经具备您所需要的功能。

Kepler 项目包含 Web 开发的好东西。查看他们的模块以查看一些可用的库 - 有网络、MVC、DBMS 访问、XML、zip、WSAPI、文档......

作为示例 Web 应用程序,请查看Sputnik

对于桌面 UI,有wxLua - wxWidgets的Lua 钩子。

ORM 明显缺失,但这并没有阻止人们在 ORM 可用之前使用其他语言进行开发。

如果你正在寻找专门的库——科学、多媒体、安全——在你检查LuaForge之前不要把 Lua 排除在外。

归根结底,Lua 的设计中没有任何东西可以阻止通用用途。它恰巧小巧、快速且易于嵌入……人们就是这样做的。

于 2008-11-06T20:16:19.113 回答
2

呃?相反,我会说 WoW 是 Lua 生态系统中的一个利基市场…… Lua 的世界并不围绕 WoW,有很多应用程序,比如 Adob​​e Lightroom(非游戏),使用 Lua。

Lua 最初是一种脚本语言,在最初的意义上,即。嵌入到应用程序中以编写脚本。但它也被设计为一种可扩展的语言,因此我们将逐渐看到越来越多的各种库的绑定用于各种目的。

但是你永远不会得到一个包含电池的官方大型发行版,比如 Python 或 Perl,因为这不是作者的哲学。
这并不妨碍其他人制作包含许多开箱即用功能的发行版(特别是对于 Windows,在难以构建软件的情况下)。

很多人已经将它用于一般的系统级脚本、桌面应用程序等等。

于 2008-11-06T22:39:00.383 回答
2

Lua 的库越来越多。

如果您是 Windows 用户,请查看Lua for Windows。它带有“包括电池”(wxLua、LuaCURL、LuaUnit、getopt、LuaXML、LPeg...)。

很有用!

于 2008-12-01T21:19:54.870 回答
1

我真的很喜欢它作为一种嵌入式语言。它很小,非常易于使用和嵌入,并且开箱即可满足我的大部分需求。它也与大多数语言相似,对我来说从来都不是问题。我还喜欢为语言重新定义和添加基本函数和关键字以适应我的应用程序的任何需求是多么容易。

我曾在 WoW 领域使用过它,但我也发现它作为一种通用脚本语言非常有用,可用于我从事过的许多不同应用程序,包括作为一种数据库触发器。我喜欢 Ruby 和 Python 以及其他功能更全的脚本语言,但它们在嵌入到小型应用程序中为用户提供更多自定义环境的选项时并不那么方便。

于 2008-11-06T19:20:30.003 回答
1

我认为 Lua 的最大特点是,它很容易扩展。将 Lua 解释器添加到您自己的程序(例如用 C、C++ 或 Obj-C 编写的程序)中非常容易,并且只需几行代码,您就可以让 Lua 访问您能想到的任何系统资源. 例如 Lua 没有提供做 xxx 的功能。编写一个并使其对 Lua 可用。但反过来也有可能。用您选择的语言(可编译的语言)编写您自己的 Lua 扩展,将其编译为本机库,在 Lua 中加载库,然后您就可以使用该函数了。

也就是说,Lua 可能不是作为独立跨平台语言的最佳选择。但是 Lua 是一种很棒的语言,可以跨平台的方式为您的应用程序添加脚本支持(如果您的应用程序是跨平台的,那就更好了!)。我认为 Lua 会有一个未来,我认为你可以期待这种语言从长远来看会不断普及。

于 2008-11-06T20:21:51.923 回答
1

Torch现在是 2017 年,距离第一次提出这个问题已有 9 年了,由于库,lua 现在在机器学习领域被大量使用。

于 2017-07-09T01:13:57.927 回答
0

舒适地作为一种 shell 语言与成为一种伟大的通用语言无关。

我,一方面,不要在其他应用程序中使用它;我用 Lua 编写我的应用程序,任何“额外”的东西都是一个特殊用途的库,无论是在 Lua 中还是在 C 中。

此外,“受欢迎”并不那么重要。在 Lua 用户列表中,定期出现有人说“Lua 不会流行,除非它有 X!”,通常的答案是:“太好了!写它!”,或者“已经讨论过并被拒绝”。

于 2008-11-06T19:55:33.617 回答
0

我相信《战锤在线》和《魔兽世界》使用它作为他们的插件语言。

我觉得很热!我只是不擅长!

于 2008-11-06T20:22:29.567 回答