Groovy是一种基于JVM(Java虚拟机)的面向对象的敏捷动态语言,它结合了Python、Ruby和Smalltalk的许多强大的特性(好比动态类型转换、闭包和元编程(metaprogramming)支持),Groovy 代码可以与 Java 代码很好地结合,也能用于扩展示有代码。因为其运行在 JVM 上的特性,Groovy 可使用其余 Java 语言编写的库。现已加入Apache 软件基金会。html
官网地址:http://www.groovy-lang.org/python
Groovy是一种动态语言,那何谓动态类型语言:动态类型语言的关键特征是它的类型检查的主体过程是在运行期而不是编译期进行的。git
Groovy语言的优点:github
语法简洁优雅、易学易用spring
代码量少开发效率高编程
灵活性强ruby
原生数据结构支持数据结构
能够调用强大JAVA全部库闭包
不足:eclipse
运行效率通常不如静态语言
类型检查异常不能提前发现:
foo * 10 //foo未定义,因为类型检查的主体过程是在运行期而不是编译期进行的,因此知道运行时才出错。
对于有Java基础的同窗,若是要在ruby、python、groovy里选择一门动态脚本语言学习,为何推荐Groovy呢?
1.语法基于Java语言,称之为没有类型的Java,学习成本低;
2.抛弃了Java繁琐的语法,包含了不少存在于Python、Ruby、Smalltalk的语言特性;
3.动态的,一个变量的类型在运行中随时能够改变,一切根据须要而定 ;
4.无缝集成全部已经存在的Java对象和类库。
开发环境搭建:
1.和Java同样先安装JDK,设置环境变量。
2.下载GDK(http://www.groovy-lang.org/download.html),设置环境变量GROOVY_HOME, 并将GROOVY_HOME目录下的bin追加到环境变量path中。
设置完成后可在命令提示符窗口,输入groovySh,开启Groovy命令交互界面。
3.安装 Eclipse 的 Groovy开发插件 (http://dist.springsource.org/snapshot/GRECLIPSE/e4.5/)
其余Eclipse版本可到:https://github.com/groovy/groovy-eclipse/wiki
推荐用IntelliJ IDEA,自带有Groovy和Scala支持。
System requirements
Groovy JVM Required (non-indy) JVM Required (indy) * 2.3 - current 1.6+ 1.7+ 2.0 - 2.2 1.5+ 1.7+ 1.6 - 1.8 1.5+ N/A 1.0 - 1.5 1.4+ N/A