`
calmness
  • 浏览: 354005 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

看《初学ROR的疑惑》所产生的疑惑

    博客分类:
  • Ruby
阅读更多

        在论坛里看了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比较不太恰当,这两种语言更应该相辅相成才是正道。我的看法可能不够深思熟虑,请各位一二。

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

请问什么叫“应用范围“,什么叫”扩展性“?
19 楼 javafifth 2007-03-06  
这样讨论问题会各执一词!鲜有结果的。每个歌星是都有自己粉丝的。即使该歌星已经故去。如猫王。
还是多讨论些技术吧!
18 楼 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。这种精巧的东西玩起来好玩,但难成大器。
17 楼 aaron_xh 2007-02-27  
个人不喜欢2楼你的言词,太极端。虽然有些话说的很正确。
16 楼 calmness 2007-02-26  
kldwq2002 写道
究竟谁取代谁,要看其发展。java是推出了许多新特性,但ruby也在不断的升级。按楼主的说法,就像在java发展的同时,ruby只是在那里等死一样。
虽然我是一个JAVA程序员,但我感觉JAVA当真不好用。直到ROR出现,这才是我一直在找的东西。


我可从来没有说过ROR只是在等死,更没有说过谁会取代谁的论调,希望kldwq2002不要断章取义。J2EE的开发确实是很麻烦,我也一直是如此认为,ROR的出现也确实让我眼前一亮,但是目前来说我是仍然不会使用ROR做项目,J2EE仍然是我目前的选择,至于未来如何那就要看哪个更能够满足需求了。
15 楼 kldwq2002 2007-02-26  
究竟谁取代谁,要看其发展。java是推出了许多新特性,但ruby也在不断的升级。按楼主的说法,就像在java发展的同时,ruby只是在那里等死一样。
虽然我是一个JAVA程序员,但我感觉JAVA当真不好用。直到ROR出现,这才是我一直在找的东西。
14 楼 qqbuilder 2007-02-25  
遗留系统,请ozzzzzz 说说中国有哪些遗留的系统用ada,cobol,Fortran 这个三个曾经的热门语言的,如果只是以编程为一种谋生的手段,那么这些过时的语言要比流行的和将要流行的语言更好!真是不知道是么逻辑,那就是打铁的铁匠比操纵机床的工人更容易找工作!
13 楼 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一定要被某种东西取代——在我看来这是不大可能发生的——之后才会逐渐步入衰落。
12 楼 calmness 2007-02-24  
[quote=ozzzzzz]至少从目前的状况来看,遗留系统的存在一个逐渐增多的趋势。分析原因首先是硬件的更新,带来了新的平台转移的工作;SOA的兴起,带来了旧有系统的从新认识;新的BRP流行,带来了更多的系统改造而不是系统再造。特别是ada程序最近有了比2000年的时候更多的需求,当然这里不排除战争的因素。
而另外一个比较有意思的情况是,新的流行趋势(比如ruby和python,当然如果算上oz就更加明显)是将旧有的概念进行新的发扬(比如文档化代码就来自于ada)。同时新的面向语言的编程和DSL,造成了对于语言风格的新喜好。而实际上基于lisp的格调以及shell的方式是最近的趋势,这和c语言的灵活于随意是大相径庭的。不管你喜欢不喜欢,java的风格已经不是流行的了。我认为这其中的原因在于使用java这样的方式来描述业务需求是罗嗦而臃肿的。当然并不是优美的强大的就会流行,比如oz就很少有人知道。

相对于同一语言的遗留系统是会逐渐减少的,而至于JAVA的项目目前还不能算进遗留系统,当JAVA真正成为遗留系统语言后,我相信相对于JAVA的遗留系统也会逐渐减少。JAVA风格不再是流行,这点我有点不认同,至少从目前来看,JAVA仍然是主流,ROR是很火,但是还没到取代JAVA的地步,JAVA也许最终会被替代,但是目前来说要达到这一地步还是需要时间,我也很不喜欢JAVA的臃肿,但是现在对于我来说,JAVA是别无选择,至少我不会选择ROR,不是我觉得ROR不好,否则我也不会去学习ROR,只是ROR还未成熟到可以取代JAVA的地步。
11 楼 adablue77 2007-02-24  
不是说Ruby不合适团队开发吗?这个不解决,怎么才能在实际项目中去用呢?
10 楼 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
看看这个。
9 楼 ozzzzzz 2007-02-22  
calmness 写道
正所谓物以稀为贵,主流语言虽然用得多,但是相关人才也多,待遇取决于供求关系,供过于求自然就低,相反则高。但是这和语言本身未来的发展却不是正向的,正如你所说,它们是遗留系统的需要,这种需要只会越来越少,很少的机会会有越来越多的情况出现。

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

我觉得你有的不是疑惑,而是太多太多没有理由的“相信”。
7 楼 calmness 2007-02-22  
正所谓物以稀为贵,主流语言虽然用得多,但是相关人才也多,待遇取决于供求关系,供过于求自然就低,相反则高。但是这和语言本身未来的发展却不是正向的,正如你所说,它们是遗留系统的需要,这种需要只会越来越少,很少的机会会有越来越多的情况出现。

相关推荐

    RoR性能优化经验谈

    此外,ActiveRecord的查询方法应谨慎使用,以防止产生复杂的SQL语句导致性能下降。 数据库连接池的管理和调整也是提高性能的有效手段,通过限制并发连接数,可以确保资源的合理分配。同时,考虑使用异步处理,如...

    ror

    NULL 博文链接:https://xuxiangpan888.iteye.com/blog/266696

    RoRBlog 基于RoR的博客系统

    基于RoR的博客系统,代码风格简单清晰,前后太完善,适合初学者。

    初探ROR

    **初探ROR** ...对于初学者,深入理解Ruby语言和Rails框架的原理,掌握其核心概念和最佳实践,将是迈进Web开发领域的重要一步。通过学习和实践,你将能够利用ROR构建出功能强大、易于维护的Web应用程序。

    ror中文资料

    **Ruby on Rails(简称RoR)中文资料** Ruby on Rails(RoR)是一个基于Ruby编程语言的开源Web应用框架,遵循MVC(Model-View-Controller)架构模式,旨在简化Web开发过程,提高开发效率。RoR强调“约定优于配置”...

    神经网络ror resenet模型

    **神经网络Ror ResNet模型详解** 在深度学习领域,ResNet(残差网络)模型是具有里程碑意义的创新,由He et al.在2015年提出。该模型解决了深度神经网络训练中的梯度消失问题,允许构建非常深的网络结构。而“Ror”...

    ROR安装必备所有架包

    在Ruby on Rails(ROR)开发环境中,安装和配置正确的依赖包是至关重要的。这个压缩包包含了一系列用于ROR框架的基础组件,但不包括Ruby本身。让我们深入了解一下这些包的作用和重要性。 首先,`actionpack`是Rails...

    ror实例

    Ruby on Rails(简称RoR或Rails)是一种基于Ruby语言的开源Web应用框架,它遵循Model-View-Controller(MVC)架构模式,旨在提高开发效率并提供简洁、优雅的代码结构。"ror实例"可能指的是在学习或实践中,通过创建...

    RoR选题方向—源代码

    Ruby on Rails(RoR)是一种基于Ruby语言的开源Web应用程序框架,它遵循MVC(Model-View-Controller)架构模式,旨在简化Web开发过程。在这个选题方向中,我们主要探讨的是与RoR相关的源代码分析和学习。源代码是...

    Windows 上搭建 ROR环境

    然而,在Windows环境下搭建Rails开发环境却让不少初学者感到头疼。本文将详细介绍如何在Windows系统上成功搭建Ruby on Rails开发环境,并分享一些个人经验,希望能对有意学习和使用Rails的朋友有所帮助。 #### 二、...

    敏捷开发第二版ROR必看

    **敏捷开发第二版ROR必看** 在编程领域,Ruby on Rails(简称ROR)是一个深受开发者喜爱的开源Web应用程序框架,它基于Ruby语言,强调简洁、高效的代码编写。"敏捷开发第二版ROR必看"这个主题,指的是对敏捷开发...

    ROR 文件的上传与下载

    ### ROR 文件的上传与下载:深入解析与实践 在Ruby on Rails(简称ROR)框架下,处理文件的上传与下载是一项常见的需求,尤其是在构建包含媒体内容的应用程序时。本文将基于给定的文件信息,详细阐述如何在Rails...

    freemis 基于ror框架的mis

    **FreeMIS:基于Ruby on Rails框架的企业管理系统** FreeMIS是一个基于Ruby on Rails(RoR)框架构建的管理信息系统(MIS...无论你是初学者还是经验丰富的开发者,都可以从中学习到关于Web应用开发的宝贵经验和技巧。

    RoR 培训课程PPT

    - **课程性质**:本课程为为期五天的Ruby on Rails(简称RoR)入门级培训,适合初学者快速掌握RoR的基本概念和技术要点。 - **讲师信息**:由Peter Marklund开发并讲解,Peter是一位经验丰富的Ruby on Rails开发者。...

    ROR绿色最新环境(2013/3/10)

    ROR环境 Ruby version 1.9.3 (java) RubyGems version 1.8.24 Rack version 1.4 Rails version 3.2.12 JavaScript Runtime therubyrhino (Rhino) Active Record version 3.2.12 Action Pack version 3.2.12 ...

    ror留言板程序

    3. **table.sql**:这可能是数据库的初始结构或者数据导入脚本,用于创建留言板应用所需的表,如用户表、留言表等。 4. **components**:这个目录可能包含了Rails应用中的组件,如自定义的Rails引擎或JavaScript...

    javarebel 用JAVA和ROR一样方便测试

    破解版本的JAR包,放到本地磁盘,ECLIPUS直接用,到JVM设置直接加 -noverify -javaagent:D:\javarebel.jar

    机遇ROR 的图书管理系统

    《机遇ROR的图书管理系统》是一份以Ruby on Rails(简称ROR)技术为核心,旨在构建高效、便捷的图书管理解决方案的学习资料。Ruby on Rails,是基于Ruby编程语言的开源Web应用框架,它遵循MVC(Model-View-...

    RoR,十分钟做Blog

    这个10分钟的教程提供了一个快速入门的RoR博客应用开发体验,帮助初学者理解RoR的基本工作流程。然而,实际的开发可能需要更长时间,尤其是在考虑设计、样式和额外功能的情况下。学习RoR不仅涉及这些基础步骤,还...

Global site tag (gtag.js) - Google Analytics