我正在用Java编写图形应用程序。最终我想用脚本语言构建,所以事情是可编程的。你推荐哪种语言库?
可能的嫌疑人是:
候选人不太可能:
目标受众可能不是核心程序员,因此首选的是较少的神秘语言。我的猜测是JavaScript更容易接受,即使它的怪癖只是因为他们已经看到了更多。
Lua似乎在C / C ++中很受欢迎,但至少LuaJava需要额外的.dll / .so,这使得部署变得复杂。
编辑: PhiLho写道,有一个名为kahlua的Lua的Java实现。
相关问题:
答案 0 :(得分:9)
如果目标受众是“没有编程技能......”选择jython(python)它很容易学习。 (我7岁的女儿很快就学会了)
布鲁斯·埃克尔(Bruce Eckel)在“思考java”中用jython作了一章。
在危险中获得“向下投票”的蟒蛇更容易,因为BASIC: - )
答案 1 :(得分:3)
答案 2 :(得分:2)
如果你想全力以赴,你可以利用JSR 223的defined将Java平台的脚本用作.J3。采用这种方法可以让应用程序使用任何符合script engine的语言。 / p>
答案 3 :(得分:1)
还有BeanShell,它具有成为完全认可的JSR的优势,因此可能更容易坚持下去。
答案 4 :(得分:1)
Java 6已经有javascript可用作JSR 223脚本语言,开箱即用。
答案 5 :(得分:1)
我刚读过Steve Yegge的The Universal Design Pattern。这篇文章的内容比Java应用程序中的嵌入式脚本更广泛,但由于作者编写了一个允许脚本编写的Java应用程序(使用Jython),因此我发现了一些有趣的洞察力。
JavaScript是最好的两个之一 这个星球上的脚本语言 最正确的意义 “脚本语言”:即 设计的语言 特别是要嵌入更大的 主机系统,然后习惯 操纵或“编写”对象 主机系统。这就是JavaScript 是为了做。这是合情合理的 小的一些可选扩展, 它有一个相当紧张的非正式 规格,它有一个仔细 精心设计的表面界面 主机系统对象透明地进入 的JavaScript。
相比之下,Perl,Python和Ruby都是 巨大的蔓延,所有的尝试(如C ++和 Java)是最好的语言 每一项任务。唯一的其他主流 与之竞争的语言 用于编写任意脚本的JavaScript 主机系统是Lua,以存在而闻名 首选的脚本语言 游戏产业。
我同意他缩小JavaScript和Lua的范围。
没有这些例子,我只能这样做 可以说是使用JavaScript / Rhino (或Lua,一旦它可用 JVM)可能是我的生命 更容易。
我个人更喜欢Java平台上的JavaScript。用户群的人口更多。 正如Yegge所说,它是“世界上最容易被误解的编程语言”,但该语言的可用资源量是一个优势。 Rhino似乎是一只成熟的野兽。
答案 6 :(得分:1)
我目前正在寻找一个允许我使用Lua脚本中的Java对象和方法的库。
我的第一个想法是也使用LuaJava,但是因为我希望它可以在Linux,Mac和Windows上工作,所以除了Java之外它还使用了编译的lib这个事实让我感到沮丧。只有Windows预编译的二进制文件可用,我不是Mac上的专家,所以我试图用纯Java找到一些东西,我发现了这个:http://sourceforge.net/projects/luaj
它似乎实现了Lua doc中描述的C API,以及LuaJava中的API。
该项目似乎非常先进,有一些来自Lua(!)的Swing调用的例子,他们在我的Linux机器上工作。但奇怪的是,邮件列表,论坛和文档真的很少。
我也会在Windows和Mac上尝试这个。希望它有效。
Kahlua已被提及,但它仅针对J2ME,这就是为什么它缺少Lua的某些部分。我认为有一个名为Mochalua的项目具有相同的目标。
另一方面,另一方面,LuaJ有两个版本,一个针对J2SE实现所有内容(也是协同程序),另一个针对J2ME,我认为它缺少2个或3个库(包括需要LuaJava的东西)反射)。答案 7 :(得分:0)
您可以考虑Jacl。它基于Tcl,最初设计为可嵌入的脚本语言。因此,有人可能认为它比其他具有嵌入能力的脚本语言更适合于此目的。
特别是如果目标受众是“非核心程序员”,Jacl做出了不错的选择。智能人员(尤其是那些没有硬连线编程偏见的人)可以在早上轻松获取Tcl语法。
答案 8 :(得分:0)
您可以使用RelProxy - Java,它提供真实和纯Java作为脚本语言,包括使用Java编写的shell脚本,这要归功于它的动态编译。因为共享启动器ClassLoader执行Java“脚本”,所以集成很简单。