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
分享到:
相关推荐
Struts Scripting 1.0.1 是一个用于Apache Struts框架的扩展,它允许开发者在Struts应用程序中集成各种脚本语言,如JavaScript、Groovy、BeanShell等。这个版本发布于较早的时期,旨在提升开发效率,提供更灵活的...
1. 编程语言:JMeter基于Java,使用Groovy、Beanshell等脚本语言,而k6基于Go语言,使用JavaScript脚本语言。 2. 协议支持:JMeter支持的大多数协议,包括HTTP/1.1、SOAP、FTP、JDBC、LDAP、MOM与JMS、SMTP、POP3、...
6. **Groovy和Beanshell**: iReport支持使用脚本语言进行动态计算和逻辑处理,Groovy和Beanshell库为此提供了支持。 7. **其他依赖**: 还包括了其他如JAXB、Log4j、Poi等库,分别用于XML绑定、日志记录和处理...
除了 CGLIB 外,一些脚本语言(如 Groovy 和 BeanShell)也使用 ASM 来生成 Java 字节码。 值得注意的是,直接使用 ASM 需要开发者对 JVM 的内部结构有深入理解,包括 class 文件格式和指令集等。因此,在实际开发...
5. **脚本语言支持**:JMeter支持使用BeanShell、JavaScript、Groovy等脚本语言编写测试逻辑。通过源码,你可以了解这些脚本是如何与JMeter交互的。 6. **结果存储与分析**:JMeter可以将测试结果保存为CSV或XML...
MonYServ的核心优势在于其基于Java虚拟机(JVM)的架构,这使得它能够利用Groovy、BeanShell和Perl等多样的脚本语言来编写监控插件。Groovy是一种动态的、类型安全的编程语言,与Java语法相似,但更简洁且支持闭包。...
Groovy是一种强大的、动态的JVM语言,可以很容易地与Java代码集成。你可以创建一个`GroovyShell`或`GroovyScriptEngine`来执行Groovy代码,它同样支持Java语法。 在处理代码评估问题时,一定要注意安全性。动态...