知识大全 Java帝国的王储——Groovy

Posted 语言

篇首语:花门楼前见秋草,岂能贫贱相看老。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Java帝国的王储——Groovy相关的知识,希望对你有一定的参考价值。

Java帝国的王储——Groovy  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

让我们来回顾一下主流语言的发展历程 机器语言(由 组成) > 汇编语言 > > C语言 > C++ > Java > ?

  不知道大家有没有发现在语言发展过程中 存在这么一个规律 能成为未来主流语言的 必与当前主流语言属同一 语系 换句话说 由王子继承王位

  在C语言之前 似乎还处于 春秋战国 各种编程语言混战 于 世纪 年代 C语言成为 秦始皇 各种软件甚至操作系统也改用C语言编写 但可惜C语言是面向过程的 程序代码一多 逻辑流程就容易混乱 再加上全局变量和可运算指针的添乱 使程序员调试程序万般辛苦

   世纪 年代 C++应运而生 它继承了C语言(包括C语言的语法) 并添加了类等特性 使C++成为一种面向对象的语言 但C++的多继承 人工内存管理 从C语言那里继承的可运算指针等问题同样使程序员万般痛苦

   世纪 年代 正当人们饱受煎熬的时候 Java诞生了 她去除了C++中的糟粕 保留了C++中的精华(包括语法) 并添加了一些自己的特性 比如垃圾回收器 接口等 我听很多由C++转Java的朋友说过这么一句话 用Java写程序简直是一种享受 可惜Java的那优美的语法使之失去了 轻盈 的身躯 程序员需要写相对比较多的代码来完成同样的功能 此外Java代码即使编译为class文件 也能被 高质量 反编译为Java文件获得源码

   世纪初 Groovy( 背后有ThoughtWorks Big Sky等公司的支持)横空出世 她几乎兼容Java的所有语法 并能无需转换直接利用Java所写的类及接口 在Spring 中可以透明地注入 Groovy对象(与注入Java对象没有任何区别) 且拥有自己的一些 敏捷 特性 如动态类型 Closure Mixins等 以及对应J EE中如JSP Servlet的Groovy敏捷版 GSP以及Groovlet等 不但如此她还拥有Ruby最引以为傲的Ruby on Rails的对应实现版本但非克隆 Grails( 背后有Oracle的支持) 此外Groovy代码编译为class文件后 即使不混淆 反编译后获得的Java源代码也 极难 读懂(换句话说 如果您能读懂这些反编译得来的源码 那您早就用不着hack人家的class文件了) 原因是Groovy自身就是用Java编写的 class文件烙有 Groovy的印迹 ?指代谁至今还不太明了 但Groovy至少已经具备了继承王位的必要条件 语言本身是利用当前主流语言所编写 并与当前主流语言的语法相似 且能够结束当前主流语言的弊病

  综上所述 选择Java世界中动态语言Groovy(Groovy = Java + Python + Ruby + Smalltalk) 至少是明智的 不仅因为她是JVM上JCP全票通过的官方标准语言 更因为她身上具有王储的特质 Groovy之于Java犹如 Java之于C++ 另外 由于Groovy本身就是用Java写的 所以对Groovy的 投资 能够得到保值 因为Groovy的程序能运行于 JDK +之上 所以Groovy的新特性(比如Groovy 中新添加的Annotations以及static import)不会像Java中的新特性(比如Java 中的Generics以及Annotations等)那样无法在旧版JDK上使用 这就起到了保值作用 如果说Java实现了跨平台 那么Groovy不仅实现了跨平台而且实现了跨Java平台

  附关于Groovy的JCP投票结果

  

  再来看一个Groovy官方网站( )上的例子 在官方网站上还有许多教程和应用实例 大家不妨去看看

  利用已存在的Java类库

     import mons lang WordUtils   class Greet def nameGreet(who) name = who[ ] toUpperCase() + who[ ] def salute() println Hello $name!   class Greeter extends Greet Greeter(who) name = WordUtils capitalize(who)   new Greeter( world ) salute()

  最后 看看Groovy与其他Java世界的动态语言的受关注程度的比较吧 从图中可以看出 Groovy有压倒性趋势

cha138/Article/program/Java/hx/201311/25614

相关参考

知识大全 Groovy编程——Mixin的使用

Groovy编程——Mixin的使用  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  由于Java

知识大全 Groovy轻松入门—搭建Groovy开发环境

Groovy轻松入门—搭建Groovy开发环境  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  由

知识大全 安装Groovy的Eclipse插件

安装Groovy的Eclipse插件  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!Groovy的E

知识大全 Groovy编程动态改变对象的能力

Groovy编程动态改变对象的能力  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  从Groovy

知识大全 Groovy: 沉睡的巨人

Groovy:沉睡的巨人  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  像RubyPython甚

知识大全 Groovy编程—Annotations的使用

Groovy编程—Annotations的使用  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  从

知识大全 用Groovy搞定SOAP消息

用Groovy搞定SOAP消息  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  看了YanHua同

知识大全 Groovy解惑——closure中的owner

Groovy解惑——closure中的owner  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 用Groovy实现最简单的ORM

用Groovy实现最简单的ORM  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!我参加的学校创新试验

知识大全 Groovy编程用Closure替代匿名类

Groovy编程用Closure替代匿名类  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  由于内