加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

groovy 简介(基于JVM的脚本语言)

发布时间:2020-12-14 16:45:09 所属栏目:大数据 来源:网络整理
导读:groovy ,[?gru:vi?],adj. 绝妙的 流行的;? groovy是一个基于JVM的脚本语言,可以与java很好地结合、混用。 很好的介绍性文章:http://www.ibm.com/developerworks/cn/education/java/j-groovy/j-groovy.html 1.JVM脚本语言三巨头 可参照:http://www.ibm.co

groovy ,[?gru:vi?],adj. 绝妙的 流行的;?

groovy是一个基于JVM的脚本语言,可以与java很好地结合、混用。

很好的介绍性文章:http://www.ibm.com/developerworks/cn/education/java/j-groovy/j-groovy.html

1.JVM脚本语言三巨头

可参照:http://www.ibm.com/developerworks/cn/java/j-jn1/index.html

它们都是基于JVM的脚本语言。此外还有Jython、Jruby,就不展开了。

1.1clojure?

Clojure 是一种 Lisp 方言,在语法上彻底背离了其他语言。它是一种强动态类型语言(和 Groovy 一样),反映了专断的设计决策。虽然 Clojure 允许您用遗留 Java 进行完整和深入的交互操作,但它并不试图构建与旧式范式相连的桥梁。例如,Clojure 不具备纠错功能,并且支持面向对象进行交互操作。但是,它还支持对象程序员所习惯的所有特性,如多态性,但它以函数方式而非面向对象的方式来实现这些特性。Clojure 围绕一些核心工程原理(比如 Software Transactional Memory)进行设计,它打破了旧的范式,支持新的功能。

1.2scala?

Scala 是一种充分利用了 JVM 优势的语言,但其语法完全进行了重新设计。Scala 是一种强静态类型语言(比对类型要求比较严格的 Java 更严格)支持面向对象范式和函数范式,而且更青睐于后者。例如,Scala 倾向 val声明,并使不变的变量(类似于在 Java 中将参数标记为 final)服从于 var,这创建了人们更加熟悉的可变变量。通过大力支持这两种范式,Scala 为您提供了从您可能是(一名面向对象的命令式程序员)到可能应该是(一名倾向函数式的程序员)的桥梁。

1.3groovy

Groovy 是 21 世纪的 Java 语法(浓缩咖啡,而非普通咖啡)。Groovy 的设计目标是更新并减少 Java 语法阻力,同时支持 Java 语言中的主要范式。因此,Groovy 需要 “了解” JavaBeans 这类技术,并简化属性访问。Groovy 快速合并新特性,并提供了一些重要函数特性,我将在后面几期中重点介绍。Groovy 在根本上依然是面向对象的命令式语言。Groovy 与 Java 的两个主要区别是,Groovy 是 静态而非动态类型,而且它的元程序功能更佳。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读