在论坛里看了daquan198163所写的《初学ROR的疑惑》这篇文章,robbin在回复中给了详细的解答,可是看完解答之后,我也产生了一些疑惑,在此想问问。

        在robbin所给出的解答当中,更多的是阐述rails的好处,然而大家都知道,rails只是一种用来快速开发的框架,而ruby之所以如此火红,大部分原因是因为rails,这点不可否认,但是对于ror的未来,我始终有所怀疑,既然rails是框架,那当其他语言实现了类似的框架之后(现在已经有类似的框架,但仍然未成熟),ror的未来又如何呢?目前ror的优势主要在于快人一步,而ruby语言本身,在语言性能上却是不及其他语言,也许当ruby2.0正式出版后,通过YARV可能对性能有一个很大的提升,但是相信也仅仅是和其他动态语言相比,与JAVA之类的静态语言可能仍然有差距。那当JAVA出现了一个比rails更完善的框架的时候,ror又该如何呢?在该文章的回复中,robbin说过“由于编程语言内在差异,Java再简化也简化不到rails的程度。”,但是你不要忘记,正因为动态语言 具有JAVA所没有的优势,JAVA在新的版本中也已经整合了动态语言,这个问题在未来也许不再是问题,而且相信会比单独使用动态语言在性能上有更好的表现。

        其实我个人并不排斥ruby,而且我更想学ruby,但是我认为ruby这些动态语言的未来,相信都不再是单枪匹马的出现在系统当中,正如robbin在《回复ozzzzzz的“java将死”》当中说的(两个观点都是robbin写的,让我有点不知道该如何表示了,一边在反驳robbin一边又赞成robbin,呵呵,糊涂):

        “我和ozzzzzz都认为Sun的管理层和技术层意见是有分歧 的。Sun现在的CEO并不是Sun起家的创始人,对Java语言没有那么纯洁的怀旧感情。因此Sun管理层现在一系列动作都在表明Sun在把Java更加平台化,以提供ruby,groovy,javascript等脚本语言支持。未来Java会成为一个基础运行平台,上面可以跑各种脚本语言。”

        我想这才是动态语言未来的真正出路,而java的未来也在此一览无余,我个人认为老是用java和ruby比较不太恰当,这两种语言更应该相辅相成才是正道。我的看法可能不够深思熟虑,请各位一二。

评论
zqjshiyingxiong 2007-03-15
ruby,我也刚刚学,初步感觉,语法要比JAVA好的多,需要编写的代码很少。以后在发展,计算机语言也智能化。
ssuupv 2007-03-14
RUBY,我看了一些介绍,感觉是个人作品,随意性太强了,不适合多人协作开发。
为什么说ROR,反面信息,就要被隐藏啊。
ssuupv 2007-03-14
sun 那个jruby算不上支持ROR了。只是觉ruby动态语言特性的弥补java的不足。自己扩展出来一个功能。要想获得一些公司支持。首先要明确,公司怎么能从这门语言获得利益。
lgx522 2007-03-07
“应用范围”是指当前Java从底层、桌面、Web、移动等领域的全面应用;目前RoR局限在Web领域,要想大而全,必须走很长的路,待大而全之日,恐怕简单不了多少。
“扩展性”是指Java从普通单机应用到企业级分布式应用的适应能力,RoR在中小应用的成功已得到证明,企业级的表现尚待关注。
gigix 2007-03-06
lgx522 写道
本人用过一阵子RoR,但还是不看好它。要论快与直接,它不如PHP;要论应用范围及扩展性,它不如Java。这种精巧的东西玩起来好玩,但难成大器。

请问什么叫“应用范围“,什么叫”扩展性“?
javafifth 2007-03-06
这样讨论问题会各执一词!鲜有结果的。每个歌星是都有自己粉丝的。即使该歌星已经故去。如猫王。
还是多讨论些技术吧!
lgx522 2007-03-06
robbin 写道

我刚毕业的时候工作语言是PowerBuilder,我当时用着PB就知道他迟早会被取代,那又如何?难道我应该8年来死抱着PB不放?或者拒绝使用PB,等着被公司炒鱿鱼?我2000年操着PHP写web页面的时候,就知道PHP这玩意将来肯定要被JSP取代,那又如何?那我是不是就应该不学不用PHP了?等着失业阿?有哪种编程语言,哪种应用框架不会被取代?


PB是不如当初流行了,但客观地说,用PB做C/S效率还是很高,高过现在正在升温的WinForm。不用PB、Delphi、VB,主要的原因是流行观点认为它们“过时了”,不能满足很多其实不可能用到的特性。
至少现在看来,PHP并未被JSP取代。大多数Internet应用已经成功使用了PHP(比如大家常去的sourceforge.net及www.eclipse.org),或正向PHP转型;近来PHP更正向企业领域伸手,大有和Java及C#争夺中小应用的趋势。
本人用过一阵子RoR,但还是不看好它。要论快与直接,它不如PHP;要论应用范围及扩展性,它不如Java。这种精巧的东西玩起来好玩,但难成大器。
aaron_xh 2007-02-27
个人不喜欢2楼你的言词,太极端。虽然有些话说的很正确。
calmness 2007-02-26
kldwq2002 写道
究竟谁取代谁,要看其发展。java是推出了许多新特性,但ruby也在不断的升级。按楼主的说法,就像在java发展的同时,ruby只是在那里等死一样。
虽然我是一个JAVA程序员,但我感觉JAVA当真不好用。直到ROR出现,这才是我一直在找的东西。


我可从来没有说过ROR只是在等死,更没有说过谁会取代谁的论调,希望kldwq2002不要断章取义。J2EE的开发确实是很麻烦,我也一直是如此认为,ROR的出现也确实让我眼前一亮,但是目前来说我是仍然不会使用ROR做项目,J2EE仍然是我目前的选择,至于未来如何那就要看哪个更能够满足需求了。
kldwq2002 2007-02-26
究竟谁取代谁,要看其发展。java是推出了许多新特性,但ruby也在不断的升级。按楼主的说法,就像在java发展的同时,ruby只是在那里等死一样。
虽然我是一个JAVA程序员,但我感觉JAVA当真不好用。直到ROR出现,这才是我一直在找的东西。
qqbuilder 2007-02-25
遗留系统,请ozzzzzz 说说中国有哪些遗留的系统用ada,cobol,Fortran 这个三个曾经的热门语言的,如果只是以编程为一种谋生的手段,那么这些过时的语言要比流行的和将要流行的语言更好!真是不知道是么逻辑,那就是打铁的铁匠比操纵机床的工人更容易找工作!
gigix 2007-02-24
calmness 写道
相对于同一语言的遗留系统是会逐渐减少的,而至于JAVA的项目目前还不能算进遗留系统,当JAVA真正成为遗留系统语言后,我相信相对于JAVA的遗留系统也会逐渐减少。JAVA风格不再是流行,这点我有点不认同,至少从目前来看,JAVA仍然是主流,ROR是很火,但是还没到取代JAVA的地步,JAVA也许最终会被替代,但是目前来说要达到这一地步还是需要时间,我也很不喜欢JAVA的臃肿,但是现在对于我来说,JAVA是别无选择,至少我不会选择ROR,不是我觉得ROR不好,否则我也不会去学习ROR,只是ROR还未成熟到可以取代JAVA的地步。

“ROR还未成熟到可以取代JAVA的地步”,很多人都是这样的想法。
一种技术衰落、成为历史遗留,并不一定有另一种技术来取代它。每种技术有自己适用的应用场景,因为商业环境改变了,旧的应用场景就可能不再需要大量的新应用被开发出来。
例子就摆在眼前。作为开发桌面应用的工具,VB和Delphi并没有被任何技术取代。但桌面应用不再是商业的核心了。再往前的例子,C++,COBOL,都是这条路。即便仅仅从历史的角度,也没有任何理由认为Java一定要被某种东西取代——在我看来这是不大可能发生的——之后才会逐渐步入衰落。
calmness 2007-02-24
[quote=ozzzzzz]至少从目前的状况来看,遗留系统的存在一个逐渐增多的趋势。分析原因首先是硬件的更新,带来了新的平台转移的工作;SOA的兴起,带来了旧有系统的从新认识;新的BRP流行,带来了更多的系统改造而不是系统再造。特别是ada程序最近有了比2000年的时候更多的需求,当然这里不排除战争的因素。
而另外一个比较有意思的情况是,新的流行趋势(比如ruby和python,当然如果算上oz就更加明显)是将旧有的概念进行新的发扬(比如文档化代码就来自于ada)。同时新的面向语言的编程和DSL,造成了对于语言风格的新喜好。而实际上基于lisp的格调以及shell的方式是最近的趋势,这和c语言的灵活于随意是大相径庭的。不管你喜欢不喜欢,java的风格已经不是流行的了。我认为这其中的原因在于使用java这样的方式来描述业务需求是罗嗦而臃肿的。当然并不是优美的强大的就会流行,比如oz就很少有人知道。[/quote]

相对于同一语言的遗留系统是会逐渐减少的,而至于JAVA的项目目前还不能算进遗留系统,当JAVA真正成为遗留系统语言后,我相信相对于JAVA的遗留系统也会逐渐减少。JAVA风格不再是流行,这点我有点不认同,至少从目前来看,JAVA仍然是主流,ROR是很火,但是还没到取代JAVA的地步,JAVA也许最终会被替代,但是目前来说要达到这一地步还是需要时间,我也很不喜欢JAVA的臃肿,但是现在对于我来说,JAVA是别无选择,至少我不会选择ROR,不是我觉得ROR不好,否则我也不会去学习ROR,只是ROR还未成熟到可以取代JAVA的地步。
adablue77 2007-02-24
不是说Ruby不合适团队开发吗?这个不解决,怎么才能在实际项目中去用呢?
ozzzzzz 2007-02-22
aardvark 写道
引用


也许当 ruby2.0正式出版后,通过YARV可能对性能有一个很大的提升,但是相信也仅仅是和其他动态语言相比,与JAVA之类的静态语言可能仍然有差距。



编译型Ruby慢过Java这样一个假设是没有任何理由的。如果大家都是编译语言,性能的差异应该只是受具体的实现影响。目前编译型Ruby还很不成熟,自然不能和Java比性能,但是这条路不会太长。

引用


那当JAVA出现了一个比rails更完善的框架的时候,ror又该如何呢?在该文章的回复中,robbin说过“由于编程语言内在差异,Java再简化也简化不到rails的程度。”,但是你不要忘记,正因为动态语言具有JAVA所没有的优势,JAVA在新的版本中也已经整合了动态语言,这个问题在未来也许不再是问题,而且相信会比单独使用动态语言在性能上有更好的表现。



且不说用Java实现Rails的可能性,即使能用Java实现一个类似rails的框架,在这个框架之上写程序还是得用Java。写应用这一步用Java怎么赢过用Ruby?

Java的对动态语言的支持实际上相当于一个解释器的接口。用C去编译或者解释Ruby难道会慢过用Java去解释Ruby?“相信会比单独使用动态语言在性能上有更好的表现”实在是很盲目的“相信”。

引用

“我和ozzzzzz都认为Sun的管理层和技术层意见是有分歧 的。Sun现在的CEO并不是Sun起家的创始人,对Java语言没有那么纯洁的怀旧感情。因此Sun管理层现在一系列动作都在表明Sun在把Java更加平台化,以提供ruby,groovy,javascript等脚本语言支持。未来Java会成为一个基础运行平台,上面可以跑各种脚本语言。”

我想这才是动态语言未来的真正出路,而java的未来也在此一览无余



“这才是动态语言未来的真正出路”,言下之意似乎如果Java不平台化动态语言就没有真正出路?
Ruby一路走来,它是独立的,完整的。虽然现在不够流行,但发展很快是有目共睹的。你怎么就看到Ruby没有Java的支持就没与出路?

我觉得你有的不是疑惑,而是太多太多没有理由的“相信”。

http://blog.melhase.net/articles/2007/02/15/automated-translation-of-java-to-python
看看这个。
ozzzzzz 2007-02-22
calmness 写道
正所谓物以稀为贵,主流语言虽然用得多,但是相关人才也多,待遇取决于供求关系,供过于求自然就低,相反则高。但是这和语言本身未来的发展却不是正向的,正如你所说,它们是遗留系统的需要,这种需要只会越来越少,很少的机会会有越来越多的情况出现。

至少从目前的状况来看,遗留系统的存在一个逐渐增多的趋势。分析原因首先是硬件的更新,带来了新的平台转移的工作;SOA的兴起,带来了旧有系统的从新认识;新的BRP流行,带来了更多的系统改造而不是系统再造。特别是ada程序最近有了比2000年的时候更多的需求,当然这里不排除战争的因素。
而另外一个比较有意思的情况是,新的流行趋势(比如ruby和python,当然如果算上oz就更加明显)是将旧有的概念进行新的发扬(比如文档化代码就来自于ada)。同时新的面向语言的编程和DSL,造成了对于语言风格的新喜好。而实际上基于lisp的格调以及shell的方式是最近的趋势,这和c语言的灵活于随意是大相径庭的。不管你喜欢不喜欢,java的风格已经不是流行的了。我认为这其中的原因在于使用java这样的方式来描述业务需求是罗嗦而臃肿的。当然并不是优美的强大的就会流行,比如oz就很少有人知道。
aardvark 2007-02-22
引用


也许当 ruby2.0正式出版后,通过YARV可能对性能有一个很大的提升,但是相信也仅仅是和其他动态语言相比,与JAVA之类的静态语言可能仍然有差距。



编译型Ruby慢过Java这样一个假设是没有任何理由的。如果大家都是编译语言,性能的差异应该只是受具体的实现影响。目前编译型Ruby还很不成熟,自然不能和Java比性能,但是这条路不会太长。

引用


那当JAVA出现了一个比rails更完善的框架的时候,ror又该如何呢?在该文章的回复中,robbin说过“由于编程语言内在差异,Java再简化也简化不到rails的程度。”,但是你不要忘记,正因为动态语言具有JAVA所没有的优势,JAVA在新的版本中也已经整合了动态语言,这个问题在未来也许不再是问题,而且相信会比单独使用动态语言在性能上有更好的表现。



且不说用Java实现Rails的可能性,即使能用Java实现一个类似rails的框架,在这个框架之上写程序还是得用Java。写应用这一步用Java怎么赢过用Ruby?

Java的对动态语言的支持实际上相当于一个解释器的接口。用C去编译或者解释Ruby难道会慢过用Java去解释Ruby?“相信会比单独使用动态语言在性能上有更好的表现”实在是很盲目的“相信”。

引用

“我和ozzzzzz都认为Sun的管理层和技术层意见是有分歧 的。Sun现在的CEO并不是Sun起家的创始人,对Java语言没有那么纯洁的怀旧感情。因此Sun管理层现在一系列动作都在表明Sun在把Java更加平台化,以提供ruby,groovy,javascript等脚本语言支持。未来Java会成为一个基础运行平台,上面可以跑各种脚本语言。”

我想这才是动态语言未来的真正出路,而java的未来也在此一览无余



“这才是动态语言未来的真正出路”,言下之意似乎如果Java不平台化动态语言就没有真正出路?
Ruby一路走来,它是独立的,完整的。虽然现在不够流行,但发展很快是有目共睹的。你怎么就看到Ruby没有Java的支持就没与出路?

我觉得你有的不是疑惑,而是太多太多没有理由的“相信”。
calmness 2007-02-22
正所谓物以稀为贵,主流语言虽然用得多,但是相关人才也多,待遇取决于供求关系,供过于求自然就低,相反则高。但是这和语言本身未来的发展却不是正向的,正如你所说,它们是遗留系统的需要,这种需要只会越来越少,很少的机会会有越来越多的情况出现。
ozzzzzz 2007-02-21
calmness 写道
“当然作为程序员来说,最有利的是java成为cobol后最大的遗留系统的统治语言。”呵呵,这句话有点悲观过头了吧,不管如何,我们做应用的还是应该以实际应用为主,我不太喜欢参与这些争论,我应该是个比较中庸的人吧,对于我来说用得上才是最实际,我学ruby也仅仅是因为自己爱好,现在主要的开发还是用JAVA,争论那么多也没用,至少目前实际项目中也无法用到。

我不是悲观,而是阐述一个容易被忽略的事实——什么样的语言能力才能给程序员最大的钱途。
其实一个以前是主流的语言的程序员,才是最容易找到高收入和稳定工作的人。别的不说ada,cobol,Fortran 这个三个曾经的热门语言,现在的就业环境就比java好的多,收入也高的多。而我们每次争论语言的时候,一些人总是害怕他们现在学的东西过时。不用问他们一定以为过时的就没有人用了,工作也不好找了。但是事实恰恰相反啊。如果只是以编程为一种谋生的手段,那么这些过时的语言要比流行的和将要流行的语言更好。什么才是最大的中庸呢?这才是最大的中庸。而最可怜的人其实才是那些以应用为指导的,也就是赶时髦的人,他们只能吃别人的剩饭,进行最激烈的竞争。
因此要是想获得一个好的钱途,要么就要走在潮头前面来引导潮流,要么就跟在潮头后面收拢溃败的残部。当然这两头都是少数人,而往往这两部分人又都是是一群人。
calmness
搜索本博客
我的相册
存档
最新评论