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