Groovy还是Jruby?

                                     Groovy还是Jruby?
 
                                    作者:Shay Banon
Groovy还是(J)Ruby?这是我一直在思考的问题。我们所有的开发者都应该学习一门脚本语言,这是毫无疑问的。而且我这里所说的的学习,其实是指精通它的意思。
目前,在Java世界,我们有两个主要的脚本语言:Groovy和JRuby。问题是我们该学习哪一个呢?首先,让我解释一下什么是学习一门新的语言。学习语法是一个简单的任务,但是更为重要的是需要知道不仅仅是学习语法就完了的。为了真正的理解怎样使用语言,我们需要知道随之而来的所有的不同的流行的开发架构、如何使用它的一些规范等等。如果我们拿Java世界做一个例子,开发人员需要熟悉Java设计模式、核心的Java概念和模式、JEE、Spring和很多其他的东西。
所以,就标题所提出来的问题,我们开发人员该学习哪一个呢?是Groovy还是JRuby?它们都有一个非常活跃的社区和伴随的一个非常吸引人的开发框架——Groovy的Grails和JRuby或Ruby的Ruby on Rails。
这个问题是社区的一个公开课题,我非常期望听到您的观点。关于这个问题,我现在最主要的考虑是:通过Groovy,从Java转移到Groovy更自然一些,毕竟Groovy是从Java升级而来,这使得学习曲线不是那么可怕(Grails也是如此)。另一方面,Ruby是一个真正的选择,如果有人选择学习Ruby(Ruby on Rails),不但在Java世界有用(通过使用JRuby),而且未来的项目可能仅仅使用Ruby。由于未来的工作,从根本上说,学习Ruby更性感。
我不知道答案,你能告诉我吗?
 
回复:
 
毫无疑问:Groovy。
这是毫无疑问的。Groovy有更加自然的JVM集成,更加自然的库支持和所有的Ruby语法。为什么还要为JRuby而烦恼呢?我找不到一个引人注意的原因(我知道Ruby就像我的手背一样)。
Groovy和它的扩展Grails是令人敬畏的技术,所有的Java开发者都应该尝试一下。
而且,通过新的Groovy1.1的annotation支持,你能够在Groovy里很自然的使用Seam,Hibernate,Spring和其他的开发框架!!令人激动的时刻!
                                             Jason
 
我要说的原因和Jason提到的一样,同时我发现探索Groovy领地不止是高兴。文档是杂乱的,源代码也是杂乱的。没有公共的语法索引,所以你不知道哪些是对的哪些是错的。书籍描述的是旧版本的语言。Grails确实令人激动,但是我不确定它是否建立在一个稳固的基础上。
                                             Cay Horstmann
 
我的建议是你可以在你所遇到的所有任务和问题上尝试它们两个。对于一些问题,两个语言都有一个相似的解决方法,而其他一些问题则有不同的解决方法。你要尽可能的选择你感觉正确的语言,以一种你感觉最舒服的方式解决问题。
同时要警觉你所选择的路上所可能遇到的风险,像性能、社区、可以获得的库文件和上升的势头,发布的文档和指导。你所选择的语言需要对所有这一些都有很好的答复。
除此之外,不要让比人为你做选择。你是一个活在决定上的人。可以接受的最佳答案是“两者都学”。
                                             Charles Oliver Nutter
我认为在今天的世界,语言只是开发过程中的一个方面。另一个重要方面是开发环境,包括IDE和创建过程。一般来说,我相信对于Java开发者来说,Groovy更有吸引力,因为你所提到的更加容易迁移方面的原因。另一方面,我的意见,未来Groovy的成功极大的依赖IDE对它的支持。从现在的实践来看,这方面的支持还是缺乏的,如重构方面、开发提示(自动完成)和适当的debugger。想想看,今天写Java代码而没有重构支持或者没有自动完成或者没有自动引入,这是不可现象的。虽然我没有多少Ruby方面的实践,但它好像在IDE的支持方面要好一些。
                                             Uri
 
(反对:我使用过Groovy和Grails,但不是Ruby,JRuby或者Rails)。
我开始学习Groovy(和Grails)因为我不知道JRuby已经出现(我做梦都没想学习Ruby)。当然,我错了。
Groovy拥有让Java开发者容易使用的优点(因为它们相似)。Grails相当不错,但是没有Rails成熟。
一旦JRuby运行了所有RoR的优点,它就像刀刃一样闪光,其他一切Rails的模仿者都黯然失色。这将会是一个耻辱,因为Groovy和Grails相当不错,还拥有一个好的社区。
                                              Nicolas Doye
 
Groovy的一个有利之处是它对工作有最好的工具。作为一个经理,我维护越少的语言越好。原因?雇佣那些懂很多语言的开发人员是十分昂贵的。或者需要花费很多的时间和金钱使得他们学习一个新的语言和语法。进入Groovy,和Java的语法相近,任何熟练的Java开发人员可以很快就使用Groovy工作。使用Grails,我拥有了一个和Runy on Rails一样的开发框架。所以我能够雇佣仅仅是Java开发人员(通过一点点Groovy/Grails培训),就能覆盖脚本、web开发、富客户端应用,企业级应用和移动应用。并且这些应用能够运行在一切拥有一个JVM的操作系统上。即Bluray提到的支持Java开发另一个市场。
跟上潮流吧!
                                              Jeff Grimshaw
 
对于我来说,由于性能上的原因,Groovy更有吸引力。两个语言看起来都不错,但是我是一个速度的坚持者,不能忍受rubu解释器的狂慢的速度。
是的,我知道有很多工作正在做,用来提高ruby的速度(编译器或者专门化),但是它们现在都还没有成型。Jruby也是解释的,它不编译代码。Groovy能够编译,因此性能和Java相当接近。当运行相似的代码在相同的JVM的时候,我能够获得80%的Java速度或者更多。
                                               Iznobad
 
原文链接:http://jroller.com/kimchy/entry/to_groovy_or_jruby
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值