我正在寻找一种ECMAScript替代方案,作为自定义应用程序逻辑的脚本语言。我喜欢ECMA,特别是新规范的语法(如AS3)。
不幸的是,AS3引擎不是开源的,无法集成到项目中。我想要一种专为面向对象使用而设计的脚本语言。
具体来说,是否有一种语言:
我宁愿做的事情
prototype
对象您了解哪些语言适合此个人资料?我很难找到专为良好的面向对象设计而设计的高质量脚本语言。
答案 0 :(得分:5)
在Java中,最好的ECMAScript(Javascript)选项是嵌入Rhino。我没有发现基于原型的继承是一个交易杀手,因为有一些纪律,你可以使它的行为几乎像基于类的继承。
如果您想要与Java密切互操作的内容,请使用Groovy。如果您需要JVM兼容性,还可以查看Jython(JVM上的python),Jruby(JVM上的Ruby)和Scala(JVM上的函数式语言)。如果您不关心Java和JVM兼容性,请查看Ruby,Python和Erlang。 Clojure是JVM上Lisp的一种方言。
更远的地方,TCL(工具命令语言)允许您在C / C ++代码中嵌入一个解释器,有许多可嵌入的Lisp和Scheme解释器等。
答案 1 :(得分:3)
如果您想要一种类似ECMAScript的脚本语言,为什么不使用ECMAScript?有许多开源实现,只需查看Wikipedia上的列表。
答案 2 :(得分:2)
我建议使用Python或Ruby。它们都不像ECMA,但是我在JavaScript之后学会了它们,它们很容易接受。此外,它们是更强大的语言,使其成为在应用程序中使用JavaScript引擎(Rhino for Java)的更好选择。
while is not False:
)unless
条件,until
循环)答案 3 :(得分:2)
答案 4 :(得分:2)
Haxe on Neko看起来就像你想要的那样。我不知道nekovm是如何嵌入的,但它是开源的,所以你可以摆弄它。 http://haxe.org
答案 5 :(得分:1)
Ruby解释器也可以嵌入到C程序中,有些人可能认为它比Python更面向对象。
答案 6 :(得分:1)
我们使用ECMAscript作为我工作的软件产品的扩展语言,并且它运行良好。作为一种标准(和流行)语言,能够将我们的用户指向该语言的大量现成文档是很好的。我们构建了自己的ECMAscript编译器,转换为我们运行的平台的字节码,但是如果我重新做一遍,我会认真考虑嵌入谷歌的V8 ECMAscript引擎(事实上,我甚至考虑构建我们的整个应用就可以了。)
答案 7 :(得分:0)
我会选择相当主流的东西来简化事情。阅读完您的要求后,我建议Python。它实际上没有Java / C#方式的接口,但它也不需要它们。除此之外,它应该是一个很好的选择。
答案 8 :(得分:0)
QtScript是ECMAScript。你没有提到你的应用程序的主要部分是什么,但我认为它不是Qt,或者你已经了解QtScript。