jvm下的脚本们-beanshell,groovy,,,

jvm下的脚本们
项目中用过python之后,开始接触jython,然后逐渐了解到好多类似的东西。

jython和jruby分别用python和ruby语言就不说了,

1.最让我惊讶的是groovy,后缀名虽然是groovy,却可以完全兼容java,并且在此基础上有些自己的语法,也可编译成class,
2.之前用过ant,好像jruby里头有个库可以代替ant写构建脚本,今天了解学习groovy的时候又发现个基于groovy的gant,可以以groovy的语法,使用ant的库,达到同样的效果,并且gant脚本和ant的xml build文件在接口上几乎一样。gant的官方甚至有个ant2gant的groovy脚本,用来将ant的构建脚本转话成gant文件。
可能有些问题,我试用发现ant本身支持用<ant>再调用另一个ant的构建脚本里的target,而以同样的规则转换成的gant却不能调用ant的xml build,但已经很满足了。不管是作为玩具还是将来在项目中使用都是不错的东西。
3.又肤浅得接触下beanshell,作为jedit的宏定义语言很nb,但beanshell的解释器本身只包含在一个jar里,是java类,因此叫嵌入式,其他比如groovy,jython都需要另外的解释器。
目前不支持@annotation,由于解释执行,调用定义在后面的类会有问题
似乎可以这样说:groovy在语言成面上和java靠得更近(beanshell次之),而beanshell在环境上靠的更近。(据说beanshell很慢,但不让他作主角,只做个通常的解析表达式之类的小配角就没关系了)

4.
scala,groovy的发明者曾说如果早发现scala他就不会再创造groovy了,而java他爹james gosling也说如果有一种语言能代替java,他认为是scala。不过据说scala就没有groovy或者beanshell这么容易上手,就没打算仔细看他,以后找个长点的时间过一下,不过也要先了解下有啥特色(函数式?haskell?)


其他的没接触过就不提了,据说jvm上有300多种????



下面是转载的

////////////////////////////////////////

如果坚持java的语法,beanshell是最好选择,实际上大部分.java文件可以不加任何改动就被beanshell执行;(--groovy似乎更好啊,)
如果需要更多的语法糖,groovy是更好的选择,更何况还有grails这个大有前途的框架;
如果你熟悉javascrip,rhino是不二选择,web的流行,使javascript成为最广泛使用的脚本语言,jdk6内置它是有道理的;
如果用过ror,ruby,python,那就可以选择jruby和jython,借助于jvm,jruby的执行速度甚至快过cruby,jython被官方支持的程度似乎不如jruby;
和groovy相比,scala是一个更学院派的东西;
我个人倾向于使用的是beanshell和grails/groovy

你可能感兴趣的:(jvm,scala,ant,脚本,groovy)