groovy 簡介(基於JVM的指令碼語言)
阿新 • • 發佈:2019-01-10
groovy ,[ˈgru:vi ] ,adj. 絕妙的 流行的;
groovy是一個基於JVM的指令碼語言,可以與java很好地結合、混用。
1.JVM指令碼語言三巨頭
它們都是基於JVM的指令碼語言。此外還有Jython、Jruby,就不展開了。
1.1clojure
Clojure 是一種 Lisp 方言,在語法上徹底背離了其他語言。它是一種強動態型別語言(和 Groovy 一樣),反映了專斷的設計決策。雖然 Clojure 允許您用遺留 Java 進行完整和深入的互動操作,但它並不試圖構建與舊式正規化相連的橋樑。例如,Clojure 不具備糾錯功能,並且支援面向物件進行互動操作。但是,它還支援物件程式設計師所習慣的所有特性,如多型性,但它以函式方式而非面向物件的方式來實現這些特性。Clojure 圍繞一些核心工程原理(比如 Software Transactional Memory)進行設計,它打破了舊的正規化,支援新的功能。1.2scala
1.3groovy
Groovy 是 21 世紀的 Java 語法(濃縮咖啡,而非普通咖啡)。Groovy 的設計目標是更新並減少 Java 語法阻力,同時支援 Java 語言中的主要正規化。因此,Groovy 需要 “瞭解” JavaBeans 這類技術,並簡化屬性訪問。Groovy 快速合併新特性,並提供了一些重要函式特性,我將在後面幾期中重點介紹。Groovy 在根本上依然是面向物件的命令式語言。Groovy 與 Java 的兩個主要區別是,Groovy 是 靜態而非動態型別,而且它的元程式功能更佳。2.與java巨集觀對比
動態型別:執行時才確定變數的型別。如groovy。
強型別:一旦變數被指定某個資料型別,不能再變。如java。 若型別:與強型別相反。如js。