`
nooalou
  • 浏览: 66957 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

好评一下Groovy

    博客分类:
  • java
阅读更多
与ruby相比Groovy虽然客户群最小,但这是由于它的历史比较短。不过,它具有Ruby和Python所没有的一个独特优点:Java开发人员熟悉它的语法,并且可以引用大量java现成的类库(这是我个人以为相比ruby的最大优势)和与java无缝衔接。该语言旨在为Java提供较高级语法,并且引入动态元素,那样Java开发人员就能提高工作效率,不像Java那样累赘多余。Groovy的另一个优点是,它作为单一的Java归档(JAR)文件来部署,那样它就可以轻松集成到比较大的Java应用里面。这样一来,开发人员就可以利用现有的Jave代码,同时获得动态语言的好处。

也许对于保守一点的开发人员,对于未来DSL群雄并举中谁能获胜,我将要站在哪个队伍中拿不准的时候,我就更倾向于Groovy。

因为Groovy更靠近java及上面提到的强于ruby的优势。

不过一点疑惑,当初sun为Jruby的投资是否是不冷静之举,还是另有原因?待时间来最终揭开种种疑惑。
17
5
分享到:
评论
25 楼 freej 2011-11-10  
如果非要学一种基于JVM的先进语言的话,还不如学习Scala。
24 楼 sword721 2008-07-23  
语言之争根本无意义.
groovy/grails的社区确实不够活跃.国内相关的介绍和资料也是相对非常少.关注grails也有一段时间了,现在的版本还是不错的,希望大家能持续关注.
23 楼 eckelcn 2008-03-16  
我认为Groovy因为被认识为Java的补充,而不是替代为好。
22 楼 geszJava 2008-02-26  
语言之争...没啥意思.
各爱各的去.
rails很有市场?这只是当前的情况.
我受不了的是ruby怪异的语法和无休止的魔法.做人何必活得那么累呢?
ruby好吗?我们经历过好几次不得不用perl来写东西的痛苦了.
换成groovy需要这样嘛?
21 楼 shiren1118 2008-02-23  
robbin 好像对现在的groovy了解的太少

而且grails完全可以替代ssh,而且很多特性更为实用,可以说是对以前的再思考。我感觉除了起点高点,其他都可圈可点
那么高的起点,它不适合大项目吗?





非常赞同lordhong观点:
sun对jruby的投资是为了吸引ruby程序员,纯市场开发目的,和技术无关。
我认为sun走错了这一步,他们其实可以大力发扬groovy。。。
20 楼 qichunren 2008-02-23  
我选择,我喜欢!
19 楼 dellsoft 2008-02-20  
顺便刚才看到了一篇文章,

http://www.jroller.com/ff/entry/groovy_good_bad_and_the

Groovy 1.6 将会有3倍的提升相比 1.5
Graeme Rocher say

Its a dynamic language, it is never going to be as fast as Java as it is another of abstraction above the JVM.

Groovy 是动态语言,它永远不会想java一样快,因为它是在Jvm 的抽象

That is not to say it is not going to improve, Groovy 1.6 will see a number of performance enhancements and on current benchmarks is sometimes up to 3 times faster than 1.5

这不是说,它不会提高,Groovy 1.6将会有一系列的性能提高,将会比1.5快3倍

But again you have to ask yourself what is fast enough? And what is the right tool for the job? Java is a great language for writing plumbing, Groovy is a great language for writing application code. This is what you do with Grails where most of the core is in Java and hence very performant.

再次问你自己,什么是只够快 ,什么是合适的工具适合工作
18 楼 dellsoft 2008-02-20  
看到有这么多人相应,至少说明现在大家越来越多的关注Groovy了,Groovy1.6性能将会有提升
17 楼 dennis_zane 2008-02-19  
怎么说呢,在groovy1.0之前我就关注了,在groovy和ruby之间简单地比较了下,很显然,那时的Ruby比groovy成熟太多,Groovy的语法特性实在没有吸引我的新东西,况且有rails这个因素,选择Ruby也是想跳出java换下思维。Groovy现在的发展不知道如何,不敢乱弹,不过Groovy显然必须寄宿于JVM,而Ruby的选择就很多:c ruby、jruby、IronRuby。就JRuby和Groovy之间来选择,JRuby有sun的团队持续不断地改进,这么短时间就发布到1.1RC2,而Groovy的团队显然没有这么活跃,功利角度我也更看好JRuby。
16 楼 山风小子 2008-02-18  
对于Robbin的评论,在下有以下几点不敢苟同:

1,“作为Java程序员来说,如果你用Grails编程写大一点的项目,就会很恐慌,因为IDE退化成文本编辑器了,大量的代码没有任何提示,检查和帮助,这种感觉很糟糕。”
不知道Robbin是否用过JetGroovy这个IDEA插件,该插件不管对Groovy还是Grails的支持可谓十分全面。

2,“但是groovy没有好的IDE支持,社区资源缺乏,Grails框架很不成熟,几乎是一个半拉子。而且程序员自己会觉得从Java转到Groovy上面没什么难度,心理上没有足够的克服困难的准备,所以更加容易遇到挫折。”
对于Groovy没有好的IDE支持,第一点我已经阐述过自己的观点了
而Grails框架目前还不是很成熟倒是事实,但没有任何框架是一蹴而就的,相信RoR也走过这段坎坷的道路。而“而且程序员自己会觉得从Java转到Groovy上面没什么难度,心理上没有足够的克服困难的准备,所以更加容易遇到挫折。”,我就更加不敢苟同了,如果说学习比较容易友好的东西都学不好,而且是因为自己的心理方面的原因,那我担心此人前途岌岌可危。

3,“从Java这种静态编译语言到动态脚本语言之间,我觉得是存在很大的思维上的鸿沟的,真要下定决心用动态语言,与其把着一个半生不熟的groovy,还不如干脆一点的ruby,否则痛苦的还是自己。”
您学习Groovy是在2006年开始学习Ruby之前,那时Groovy1.0Final都没发布呢,请看看现在的Groovy吧。

“BTW: 我当时认识一个Groovy的contributor,听他说groovy team很不活跃,感觉groovy前景和ruby没有办法比。”
我也认识一位Groovy的commitor,他对Groovy的前景充满着信心。
15 楼 nooalou 2008-02-18  
呵呵。。。

兄弟们,我们先不论谁好谁坏,客观存在的事实是:
1,ruby目前的确火热起来,这也我们学习它的理由。
2,Groovy的优势,尤其是亲java的特点也确实存在,我们不排除它以后也会火热,因此一部分人看到这一点,转而学习Groovy也可理解。
3,动态语言似乎的大势所趋,无论上面哪种,或者其他DSL学习一两个没坏处。
4,Groovy目前还存在欠缺,但这也是ruby以前走过的路,也是所有语言在流行之前必须要经历的痛苦过程,因此我们在冷静对待此事的同时,可以批判的学习,毕竟技不压身。

最后,希望javaEye的兄弟们,多多利用这块学习的沃土,掌握更多技能。

此问题讨论是无休止的,还是现在就着手学习为上,实践中体会的更深刻



14 楼 ShiningRay 2008-02-18  
Groovy是不错
问题是,Ruby和Rails更有市场
13 楼 agile_boy 2008-02-18  
呵呵,Robbin老大也在此陈述了其对Groovy的失望,其实每个人对语言的关注点都是不同的,因此得到的结论也不同。
象Robbin喜欢Ruby,而且在应用和实施方面也有所建树,但未必就能说明Ruby更适合企业应用。
象我这样的老古董,其实很简单,就是觉得Java的生命力还可以,因此也希望得到更像Java的东东,而且还能不落伍于当前流行的动态语言。
不过Groovy的性能还真有待提高啊!
12 楼 lordhong 2008-02-18  
我的想法是可以在java的基础上学习动态语言的特性,closure,curry,expando,等等。其实ruby,python,javascript,groovy,actionscript几乎都差不多,掌握了一种之后,学习其他语言应该会很快的。
11 楼 robbin 2008-02-17  
讨论语言发展的前景不能够脱离现实环境的支持程度和社区发展的状况,VB这种没有什么技术前景的编程语言照样是全球最流行的语言,并且将继续流行下去,仅仅因为VB在办公自动化市场的既成事实。ruby虽然1993年就发布了,但是一直到2004都是默默无闻的,在Rails出现以后,ruby社区才壮大起来,历史积累并不多,起步不算比Groovy早。

Groovy从现在的状况来看,定位是很尴尬的,它只能依附于JVM平台,应用场合非常有限:大型企业应用项目,直接基于Java,不会考虑Groovy;小型web开发项目,用Java虽然开发效率不算高,但也可以接受,保守一点就直接SSH框架了,激进一点就RoR了,即便折衷一点还有jruby on rails,用Groovy的理由是什么?或者只能说Groovy是诸多选择当中的选项之一罢了。至于DSL领域,并不是每个动态语言都可以做DSL的,ruby语法有这方面的优势,而python就明显不行,Groovy还没有看出来有这方面的潜力。

我当然不反对别人学习Groovy,事实上我在学习ruby之前,的确是曾经考察过Groovy,但结论是我个人不太看好Groovy而已。
10 楼 nooalou 2008-02-17  
21:46

对于robbin的说法,我有自己的一点不成熟看法:
弱类型导致习惯IDE的Java程序员无所适从

ruby在经历了10多年的历程才有了今天的“成熟”,当然目前的成熟度还远不如java,而groovy相比ruby还要年轻。我觉得我想要讨论的是一个大前提,是一个目光更远的未来的假想,假如在IDE,社区繁荣度同等情况下,Groovy和ruby会为我们带来什么?同学们会如何取舍?因为我觉得这是早晚的事。当然,还需要大家对社区的积极贡献才能有推动力。
另外:基于eclipse3的groovy插件已经面世,我近期较忙还没有机会一试,也许会值得期待。

动态语言灵活而强大的语法令Java程序员无所适从
这其实是动态语言和Java规则的重大不同导致的落差另Java程序员无所是从,有些茫然。但就象ruby社区丰富的资源已经为此做好了充分的准备一样,一但我们选择了Groovy同样要做好心里准备,短时间内更是如此。就象“fangzhouxing”所说的一样。我觉得谁是大盘绩优股,谁的长线更具价值,同时规避短线利润诱惑,这是要考虑一下的。呵呵。我可不是在说ruby的坏话,多一个选择多一条出路嘛。

至于成就感嘛,我觉得你说的有道理,毕竟ruby和java迥然不同,但与java同族也许这正是Groovy日后的潜在优势,也许在开发大型项目及利用已有java资源(这里指所有标准类库,开源项目和已实施完的项目)上更多的会看到Groovy的身影。这可能出于JVM考虑,出于和其它厂商接口的实现考虑,出于实施风险的考虑等。因为大一点的项目不会只有一家厂商,只用一种语言写完,但如果Groovy+java都不敢用,谁会用ruby+java或ruby+c!也许我们这些热衷于新技术的兄弟们敢,因为我们了解ruby,我们了解Groovy,但我们的老板不一定敢。

Groovy社区目前的确不够热闹,我几乎有空就去逛。不过,相信随着oracle的支持,以及众热衷贡献者的努力,Groovy会有一个不错的明天。

我只是希望javaEye能为大家提供更高端、更前卫同时更全面的技术交流环境。因为这里是我非常喜爱的社区。
9 楼 robbin 2008-02-17  
BTW: JavaEye不存在吹捧ruby,贬低groovy的现象。作为网站来说,哪方面的人比较多,哪方面的需求比较多,我们就得多开一些这方面的版面。
8 楼 robbin 2008-02-17  
或者简单的说:

Java转到groovy的成本,和Java转到ruby的成本是一样大的。但是付出同样的时间和精力,掌握了groovy和掌握了ruby相比,得到的回报差距太大。
7 楼 robbin 2008-02-17  
传统的Java程序员未必会喜欢groovy。我在06年学习ruby之前,曾经短时间的学习过groovy,当然就对groovy非常不感冒,所以放弃了groovy,开始学习ruby。

对于Java程序员来说,Java语言的优势是什么?是强类型的静态编译带来的IDE强大的代码辅助功能。在Eclipse/IDEA里面写Java代码,IDE能够让我们如虎添翼,无论是代码提示,类型检查,源代码跟踪还是代码概览,一应俱全。有了强大IDE的支撑,程序员有种很安全的感觉,我相信现在没有哪个Java程序员能够脱离Eclipse/IDEA用文本编辑器写Java代码了。

1、弱类型导致习惯IDE的Java程序员无所适从

作为Java程序员来说,如果你用Grails编程写大一点的项目,就会很恐慌,因为IDE退化成文本编辑器了,大量的代码没有任何提示,检查和帮助,这种感觉很糟糕。当然ruby程序员也有类似的问题,但是ruby程序员一向习惯了脚本编程,不像Java程序员在Java和groovy中间来回切换那么大的心理落差。

2、动态语言灵活而强大的语法令Java程序员无所适从

Java是一个语法简单的静态强类型语言,对于习惯了Java思路的程序员来说,面对动态语言的灵活性,会非常不习惯,甚至觉得不可思议,从编程思路上来说,存在很大的差异。

Java程序员转到ruby/groovy的时候都要面临这两个问题,但是对于ruby来说,情况要好很多:ruby的IDE现在已经非常强大,ruby社区资源丰富,Rails框架发展成熟。更重要的是,程序员转换一种编程语言,自己已经做好了足够的心理暗示来面对编程语言的困难。

但是groovy没有好的IDE支持,社区资源缺乏,Grails框架很不成熟,几乎是一个半拉子。而且程序员自己会觉得从Java转到Groovy上面没什么难度,心理上没有足够的克服困难的准备,所以更加容易遇到挫折。

从Java这种静态编译语言到动态脚本语言之间,我觉得是存在很大的思维上的鸿沟的,真要下定决心用动态语言,与其把着一个半生不熟的groovy,还不如干脆一点的ruby,否则痛苦的还是自己。

BTW: 我当时认识一个Groovy的contributor,听他说groovy team很不活跃,感觉groovy前景和ruby没有办法比。
6 楼 fangzhouxing 2008-02-17  
希望eclipse groovy plugin 能尽快成熟起来.

相关推荐

    Programming Groovy 2

    根据来自不同背景的专业人士(如Joe McTee、Peter Bell、Scott Leberknight等)的评价可以看出,《Programming Groovy 2》受到了广泛好评。无论是初学者还是有经验的开发者,都能从这本书中获得有价值的见解和指导。...

    GROOVY入门经典

    他们的另一部著作《Object-Oriented Design with UML and Java》也深受业界好评。本书的特点是内容全面详尽,浅显易懂,并且易于选择性阅读,非常适合自学者。书中的内容不仅涵盖了Groovy语言的基础知识,还深入介绍...

    Getting Started with Grails

    Grails是一个全栈式的Web应用开发框架,基于一系列成熟且广受好评的开源技术构建,如Spring、Hibernate、Ant、JUnit等。它充分利用了Groovy动态编程语言的优势,并遵循约定优于配置(Convention over Configuration...

    SOAPUI接口调用安装包

    SOAPUI是一款广泛使用的开源工具,专门用于...其易用性、灵活性和强大的测试功能,使得SOAPUI在IT行业中广受好评,成为了接口测试的标准工具之一。通过熟练掌握SOAPUI,可以提升你的测试效率,确保项目的质量和稳定性。

    SoapUI工具

    这款工具以其易用性和强大的功能深受好评,尤其对于Webservice的接口测试,自动化测试等方面,表现突出。 首先,让我们了解一下Webservice。Webservice是一种基于网络的、开放的、标准化的方式,使得应用程序可以...

    java开发工具-2018_可以使用.rar

    IntelliJ IDEA是由JetBrains公司开发的一款广受好评的Java IDE,以其智能代码补全、代码分析和高度可定制性而闻名。 IntelliJ IDEA的核心特性包括: 1. **智能代码补全**:IDE能够理解你的代码上下文,提供准确的...

    软件开发必备软件,集成各类工具

    其中,IntelliJ IDEA以其智能编码辅助和人性化设计备受好评。 对于版本控制,Git是目前最广泛使用的分布式版本控制系统。它允许开发者追踪代码的历史变更,协作开发,并通过GitHub或GitLab等平台进行代码共享与协作...

    非常好用的自动化UI测试免费软件

    标题中的“非常好用的自动化UI测试免费软件”指的是Katalon Studio,这是一款广受好评的自动化测试工具,尤其在用户界面(UI)测试领域表现出色。它提供了一个全面的测试环境,支持多种技术和平台,如Web、Mobile...

    jd-gui java反编译工具

    而Procyon则同时支持Java、Groovy和Scala等多种语言的反编译。 总的来说,jd-gui作为一款直观易用的Java反编译工具,对于开发者来说是一个有价值的辅助工具,它能够帮助我们洞察.jar包内部的工作原理,提升我们的...

    iReport-2.0.4

    其中,iReport是一款广受好评的报表设计工具,特别是其2.0.4版本,更是以其强大的功能和友好的用户界面赢得了众多用户的青睐。 iReport是Jaspersoft公司开发的一款开源报表工具,主要针对Java环境设计,它与Java...

    java的class文件反编译工具

    Procyon是一个全面的Java编译器和反编译器套件,不仅能够反编译Class文件,还支持Java、Groovy和Scala的源代码编译。其反编译器部分能生成高质量的源代码,包括注释和原始方法签名。 4. **JD-GUI** JD-GUI是一个...

    交口称赞JAVA6学习文集3.0

    《交口称赞JAVA6学习文集3.0》是一份修正版的学习资料,因其丰富的示例和详实的讲解而受到广泛好评。这份资源聚焦于Java 6这一编程语言的各个方面,旨在帮助开发者深入理解并熟练掌握Java 6的关键特性。 Java 6,又...

    leakcanary.zip

    由于其简单易用且效果显著,LeakCanary在Android开发者中广受好评。 **LeakCanary的功能** 1. **自动检测**:在应用运行时,LeakCanary会自动监测可能出现的内存泄漏,并在检测到泄漏时立即通知开发者。 2. **...

    CircleImageView

    这个库由Hdodenhof开发,并在GitHub上广受好评。下面将详细介绍CircleImageView的功能、使用方法以及其在实际开发中的应用。 首先,CircleImageView的核心功能是将矩形图片转换成圆形。在Android原生的ImageView中...

    Java软件开发工具1.rar

    - **IntelliJ IDEA**: IntelliJ IDEA是另一款广受好评的IDE,以其智能代码补全、重构工具和对多种框架的优秀支持而著名。 - **NetBeans**: NetBeans是开源的IDE,适合初学者,因为它具有直观的界面和内置的教程。 ...

    java反编译工具

    - **FernFlower**:另一个开源的Java反编译器,以其高质量的反编译结果而受到好评。 - **Procyon**:不仅支持Java,还支持JavaFX和Groovy等语言的反编译。 - ** Krakatau**:一个强大的字节码分析和反编译框架,...

    spring2.5.pdf

    Spring框架作为企业级应用开发的重要工具,自发布以来便以其强大的功能、灵活性及可扩展性获得了广泛的应用与好评。Spring 2.5版本是该框架的一个重大更新,引入了一系列新特性和改进,进一步提升了开发效率和应用...

    IntelliJ.IDEA.ReferenceCard.pdf

    它专门为Java开发而设计,但同时支持大量的其他编程语言如Groovy、Kotlin、Scala、JavaScript和SQL等。IntelliJ IDEA以其智能化的代码分析、代码自动完成、重构和调试功能而受到广泛好评。本知识点将依据提供的...

    IntelliJ IDEA 的 Win 和 Mac 快捷键大全

    IntelliJ IDEA 是一款由 JetBrains 公司开发的强大集成开发环境(IDE),主要应用于 Java 开发,同时也支持其他多种编程语言和技术栈,如 Kotlin、Groovy、Scala、Android、JavaScript 和 TypeScript 等。...

Global site tag (gtag.js) - Google Analytics