基于JVM的各种语言最近似乎越来越流行,这也许跟Sun被Oracle收购有关,至少我是那个时候才了解到这些,因为那段时间网上关于Java的讨论特别多,有人担心起Java的前途,进而有人在寻找Java的替代者或补充语言。在51cto上看到有各种关于基于JVM的语言的讨论。对于这些话题,我没有资格讨论什么,也不想讨论什么。只是一直想学一门基于JVM的语言(当然除Java外),曾经打算学习Scala,后来放弃了,语法太晦涩,太与众不同。
 
前两天,一个偶然的机会,下定决心学习一门基于JVM的语言,然后选择了Groovy。选择它有很多原因,其中最重要的原因有两个:1、几乎完全兼容Java语法,可以与Java无缝集成,学习很快;2、Groovy是一门动态脚本语言,这正是我想学习的。于是决定学习Groovy。在学习过程中,会记一些学习笔记,一来方便以后复习;另一方面也希望能够与初学者一起共同学习、进步。
 
下面简要介绍一下Groovy。
 
1、Groovy比较“帅”
 
groovy这个单词是“时髦”的意思,可以理解为帅。为什么呢?
 
Groovy是Java平台上的脚本语言,抽象程度更高,可以更简单快速地开发,编写更少的代码。与Java语言无缝集成,使用“类Java语法”,与Java二进制兼容,都生成字节码,所以可以与使用Java语言所编写的框架和组件完美集成,并且效率安全方面比其他脚本语言要高。
 
Groovy对象就是Java对象,使用与JDK相同的API。另外可以保护整个Java产业在Java上的巨大投资。
 
在中小型项目中,Groovy可以代替Java,在大型Java项目中,可以嵌入Groovy应用。
 
2、Groovy的特征
 
Groovy = Java - 重复的样板代码 + 可选的动态类型 + 闭包(closures) + 领域规范语言(DSL) + 生成器(builders) + 元编程(metaprogramming)。
 
Java默认只导入java.lang.*,而Groovy默认导入ava.lang.*, java.util.*, java.net.*, java.io.*, java.math.BigInteger, java.math.BigDecimal,   groovy.lang.*, groovy.util.*
 
不少语法是可以省略的,如类型、修饰符和return等。
 
http://www.blogjava.net/BlueSUN/archive/2007/04/23/112978.html上有很多可供参考的资源。当然官方网站上的资料更权威,只是是E文的,E文好的最好看官方文档,还可以看《groovy in action》。