Groovy编程语言的开发人员指出,新版的目的是让使用Java和SQL的程序员生活得更轻松。
上个月,SpringSource它是VMware的一个部门,以及其背后的志愿者开发人员社区Groovy发布了动态编译语言的新版本。新特性包括一些旧的Java功能,可以帮助Java程序员更容易地使用Groovy。它还增加了一些功能,可以减轻使用基于sql的数据库的负担。
Groovy是一个越来越多运行在Sun Microsystems的JVM (Java虚拟机)上的语言。
Groovy构思于2003年,是作为一种类似Java的语言进行开发的,它是为Java本身难以完成的任务(比如XML解析)定制的。使用Groovy, Java开发人员可以编写脚本和代码,而不必担心完整的Java程序有时会伴随大量的样板代码,Java应用基础设施管理软件提供商SpringSource的Groovy开发主管Guillaume Laforge说。通过在JVM上运行,Groovy还可以使用大量可用的Java库。
Laforge指出,自从它正式引入以来(第1版直到2007年才发布),Groovy已经在一些不同的任务中找到了一席之地,比如开发Java程序的原型。结合Grails快速开发框架,它也被快速使用起来和运行数据库驱动的Web应用程序。
该语言的1.7版本包括Laforge描述了一些不同的特点来帮助这些工作。
一个特性是支持匿名内部类和嵌套类。这种支持在Java中早就有了,但是Groovy的早期版本避开了它们,转而支持一种类似的技术,称为闭包。这两种方法都允许开发人员以这样一种方式编写代码,即不必为程序可能遇到的每一个可能的业务规则编写一个新类。而Java的维护者现在考虑使用闭包,Groovy将支持匿名内部类和嵌套类,这样Java程序员可以更容易地使用Groovy, Laforge说。他补充说,这一包含也将允许严重依赖匿名内部类的Java框架与Groovy更无缝地工作。
在Groovy的新版本中也尝试了与SQL更好的兼容性。Laforge注意到管理员已经编写了Groovy脚本来将“大量数据从一个系统迁移到另一个系统”,他说。许多传统的脚本语言不能很好地与SQL一起工作,为任务编写一个Java程序可能是过度的。Groovy 1.7提供了一个新方法,允许批量移动数据,这将简化迁移脚本的编写。它还具有用于事务处理的类似方法。
Groovy 1.7的其他新特性包括改进了对注释和断言的支持。GroovyConsole和抽象语法树接口得到了改进,GroovyScriptEngine也被重写了。开发人员还发布了一个微软的Windows安装程序Groovy。Grails最近一直在走下坡路更新也
Groovy是Apache许可下的开放源码,每年更新一次,Laforge说。版本1.8的计划包括性能改进。通常用动态编译语言(如Groovy或Ruby)编写的程序运行在Java等静态编译语言中,比预先编译的慢。尤其是Groovy批评缓慢的性能。开发人员并没有在1.7上做太多的工作来提高性能,Laforge说,尽管这将是1.8版本的优先级。
Groovy 1.8的另一个优先级将是帮助开发领域特定语言(或dsl)的额外增强。dsl是为某些特定任务定制关键字的语言。可以使用dsl以非程序员能够理解的方式编写业务逻辑。鉴于它相对简单的语法和可扩展性,Groovy可以服务作为构建dsl的基础,尽管Laforge说他希望看到在清理语言中的一些“语法噪音”上做更多的工作,比如逗号和分号。
他说:“我们得到了一些想法,如何进一步简化语法,使dsl看起来更像正常的英语。”
开发人员可以使用大多数主流ide,例如Eclipse,IntelliJ Idea和Netbeans,编写Groovy程序。