在论坛里看了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比较不太恰当,这两种语言更应该相辅相成才是正道。我的看法可能不够深思熟虑,请各位一二。 ====================================== 评论 共 27 条 发表评论 robbin 2007-02-19 12:44 二、在Java平台提供Ruby支持,和Ruby on rails本身没有冲突的地方
三、Sun公司拓展JVM平台语言支持,和Ruby on rails的目标并不冲突。Sun公司在未来的Java版本中会修改字节码,也会给JVM添加新的指令集,目标就是更好的支持脚本语言。 四、对于程序员来说,你写好的Ruby代码,在RVM上面跑也行,在JVM上面跑也行,你又不需要修改代码,有什么好担心的?JVM越是支持Ruby,Ruby就越被使用在更多的场合?这难道不是一件好事?我想不明白我观点有什么矛盾的地方? 五、Ruby on rails会不会被取代,对你来说真的那么重要吗? 我刚毕业的时候工作语言是PowerBuilder,我当时用着PB就知道他迟早会被取代,那又如何?难道我应该8年来死抱着PB不放?或者拒绝使用PB,等着被公司炒鱿鱼?我2000年操着PHP写web页面的时候,就知道PHP这玩意将来肯定要被JSP取代,那又如何?那我是不是就应该不学不用PHP了?等着失业阿?有哪种编程语言,哪种应用框架不会被取代?
calmness 2007-02-19 13:06
ozzzzzz 2007-02-19 14:45 calmness 2007-02-19 15:07
lewisou 2007-02-21 18:28 ozzzzzz 2007-02-21 20:12 calmness
写道
我不是悲观,而是阐述一个容易被忽略的事实——什么样的语言能力才能给程序员最大的钱途。
hurricane1026 2007-02-21 20:47 这段话好精彩,程序员应该以钱途为指引。这样才能给无论是个人还是整个行业和市场带来最大的利益。ada和cobol程序员的工资确实很高。 calmness 2007-02-22 00:27
aardvark 2007-02-22 06:49 引用 也许当 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不平台化动态语言就没有真正出路?
我觉得你有的不是疑惑,而是太多太多没有理由的“相信”。 ozzzzzz 2007-02-22 07:29 calmness
写道
至少从目前的状况来看,遗留系统的存在一个逐渐增多的趋势。分析原因首先是硬件的更新,带来了新的平台转移的工作;SOA的兴起,带来了旧有系统的从新认识;新的BRP流行,带来了更多的系统改造而不是系统再造。特别是ada程序最近有了比2000年的时候更多的需求,当然这里不排除战争的因素。
|
|