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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值