Groovy是什么

Groovy的网站(http://groovy.codehaus.org)给出了groovy的最好定义:groovy是在java平台上的、具有象Python,Ruby和Smalltalk语言特性的灵活动态语言,groovy保证了这些特性象java语法一样被java开发者使用。

Groovy经常被认为是脚本语言——它也像脚本一样工作的很好。

但是,把Groovy理解为脚本语言是一种误解,groovy代码被编译成java字节码,然后能集成到java应用程序中或者web应用程序,整个应用程序都可以是groovy编写的——groovy是非常灵活的。

groovy与java平台非常融合,groovy的许多代码是使用java实现的,其余部分是用groovy实现的,当你使用groovy编程的时候,许多情况下你正在写特殊的java程序,在java平台上的所有强大功能——包括大量的java类库也可以直接在groovy中使用。

这样说来groovy只是为java增加了语法糖吗?不完全对,虽然你在groovy中做的每一件事情通过java也可以做,但是用java代码实现groovy的魔术工作是会让人发狂的,groovy在后台做了许多工作来完成敏捷性和动态性,就像你读这本书一样,有时设法想想groovy使用java模仿的效果要做的事情,首先,groovy的许多特性特别神奇——透明的对方封装逻辑,建立层次的代码,在一般应用程序语言进行中高效的数据库查询,在每个对象被创建之后控制每个对象的运行时行为——所有这些任务都不能在java中执行,你也许认为groovy象一个“彩色的”语言,那么相比较而言java就是黑白的——在后面是黑白的点上创建了彩色特性。

我们来看看groovy的魅力,一步一步开始groovy和java的工作。