GIS行迹--专注于GIS的发展(贝贝龙的专栏)

理论很抽象,技术很实在!动手做起来!!(http://hengcai001.javaeye.com/)

转载 Java之外,选择Scala还是Groovy?收藏

ScalaGroovy都是基于JVM的语言,相比Java都有更加简明的语法和丰富的表达能力。对于那些既想不脱离开JVM又想避免Java繁琐的语句的开发人员来说,ScalaGroovy都是不错的选择。可是选择哪一个才能在未来发展过程中取得先机呢?哪一个是未来发展的方向呢?这些都是困扰开发者的难题。

 

去年早些时候,一篇名为“ScalaGroovy的杀手? ”的博客对ScalaGroovy进行了对比:

 

ScalaGroovy之间的核心区别在于前者是静态类型的。有些人可能争辩说这使得达到脚本化目标变得更加复杂了,而脚本化正是Groovy的动机。然而,Scala有完整的体系特征,这使Groovy看上去更像个玩具。比如,Scala有“sequence comprehensions”。该要素导致对算法的表述非常紧凑和强大。

 

Scala还有更多被证明是非常有用的特性,如嵌套类,currying和代数类型模式匹配。它还支持类似于JDK1.5所增加的泛型和注解。这些还都只是冰山一角。

之后,Derek Young撰文“Scala对比Groovy:静态类型是性能的关键”。在文中他举了一个实际的例子,试图说明针对同样的算法,Scala的性能远高于Groovy

 

然而,Scala并不是尽善尽美的,它也有一些明显的缺陷。Rick Hightower在最近发表的一篇博客中,尖锐地批评了Scala的语法问题:

 

Scala并不是更好的选择。在阅读了Scala的文档之后,我的想法是:虽然这种语言的特性听起来挺好,但是语法却让我想放弃。为什么事情非要为了不同而不同?ScalaGroovy看起来比以前更加美味可口。

 

憎恨是个很强烈的词。我恨Scala的语法。请不要再推进这种语法了。……Scala有好的思想吗?有。借用过来就行了……

 

总而言之,Scala看起来像下一个被过度宣传的语言。只需要把其精华引入到Groovy中,然后扔掉那些糟糕的语法。我最喜欢的Scala特性是推理类型和强类型。C#3.0也有这些。(我不用C#,不见得我不喜欢它的一些特性。)

Rick Hightower还建议Sun应该在Groovy上进行投资,而不是对JRuby作无谓的投资。

 

Groovy更像Java,更容易上手,语法也让开发者不反感。为什么SunJRuby上投那么多钱呢?

 

投资应该给Groovy。这样了解Java的开发者可以更快地学习Groovy,而且如果有工具支持他们,那么就更可能这样做。

为了说明Sun投资在Ruby上的不明智,Rick Hightower还引用了一幅统计图表来说明企业采用Ruby的趋势还是比较低的:

 

 

 

另外,无论是RubyScala还是Groovy都有对应的Web框架,且对应的框架都是用各自对应的语言编写的。这些框架分别是RailsLiftGrails。尽管LiftGrails中的许多东西都从Rails借鉴来的,但是Grails对其他已有Java技术框架进行了很好的继承,这无疑会保护用户或厂商在这方面的已有投资。Grails框架参考文档中这样描述:

 

Grails构建在这些概念之上,并且显著地减少了在Java平台上构建Web应用的复杂程度。不同的是,这些是建立在已确立的如SpringHibernate这样的Java技术之上的。

目前,ScalaGroovy两种语言都在快速发展的过程中。就目前的情况来看,Groovy的优势在于易用性以及与Java无缝衔接,Scala的优势在于性能和一些高级特性,如果在发展过程中两者能互相借鉴对方的优点来充实自身,对开发者来讲无疑是福音。正如第一篇所引用的博客作者最后提到的那样:

 

大家并不想看到一场殊死斗争,而是想看到更注重实效思想的Groovy团队能与更具有学术思想的Scala团队一起合作,制作出一门既强大又易用的语言。

你会将赌注押在谁身上呢?

发表于 @ 2008年10月09日 12:07:00|评论(loading...)|收藏

新一篇: (转)BeanShell快速入门---Java应用程序脚本引擎 | 旧一篇: [转载]Visual Studio 2008 到底有多强?漫画告诉你!

用户操作
[即时聊天] [发私信] [加为好友]
GIS行迹
订阅我的博客
XML聚合  FeedSky
订阅到鲜果
订阅到Google
订阅到抓虾
GIS行迹的公告
交通GIS、移动GIS、语义GIS、服务GIS、格网GIS、云GIS、在线地理信息平台
文章分类
收藏
GIS
ESRI中国社区
GIS公园
GIS咨询小组
GIS大学论坛
GIS帝国论坛
GIS空间站
GIS门户网站
MapABC地图
MapBar地图
SuperMap公司
地理信息论坛
灵图
IT论坛
51CTO技术论坛
CSDN
ITPub技术门户
中国IT实验室
中国JAVA开发网
中国XML论坛
抓虾
挖客网
搜索爱好者论坛
新客网
蓝色经典
豆瓣网
酷勤网
RSS
RSS搜索引擎
Twitter
叽歪
博客连接
Chinaunix
JavaEye博客
博客园
工作招聘
关键技术
360个人图书馆
EEmap
新新Web2.0
语料库语言学在线
语言技术论坛
雅蛙
开源
GeoWeb开源社区
地理信息语义网
门户网站
大旗网
搜狐
新浪
百度
网易
腾讯
谷歌
迅雷
雅虎
英语
ChinaDaily
E学论坛
shareJ资源区
北京新东方论坛
大家论坛
太傻论坛
小马过河论坛
新东方酷学社区
旺旺英语论坛
沪江英语论坛
英语家园论坛
邮箱
126邮箱
163邮箱
Gmail邮箱
hotmail邮箱
yahoo邮箱
存档
Csdn Blog version 3.1a
Copyright © GIS行迹