`
calmness
  • 浏览: 353260 次
  • 性别: 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比较不太恰当,这两种语言更应该相辅相成才是正道。我的看法可能不够深思熟虑,请各位一二。

分享到:
评论
6 楼 ozzzzzz 2007-02-21  
calmness 写道
“当然作为程序员来说,最有利的是java成为cobol后最大的遗留系统的统治语言。”呵呵,这句话有点悲观过头了吧,不管如何,我们做应用的还是应该以实际应用为主,我不太喜欢参与这些争论,我应该是个比较中庸的人吧,对于我来说用得上才是最实际,我学ruby也仅仅是因为自己爱好,现在主要的开发还是用JAVA,争论那么多也没用,至少目前实际项目中也无法用到。

我不是悲观,而是阐述一个容易被忽略的事实——什么样的语言能力才能给程序员最大的钱途。
其实一个以前是主流的语言的程序员,才是最容易找到高收入和稳定工作的人。别的不说ada,cobol,Fortran 这个三个曾经的热门语言,现在的就业环境就比java好的多,收入也高的多。而我们每次争论语言的时候,一些人总是害怕他们现在学的东西过时。不用问他们一定以为过时的就没有人用了,工作也不好找了。但是事实恰恰相反啊。如果只是以编程为一种谋生的手段,那么这些过时的语言要比流行的和将要流行的语言更好。什么才是最大的中庸呢?这才是最大的中庸。而最可怜的人其实才是那些以应用为指导的,也就是赶时髦的人,他们只能吃别人的剩饭,进行最激烈的竞争。
因此要是想获得一个好的钱途,要么就要走在潮头前面来引导潮流,要么就跟在潮头后面收拢溃败的残部。当然这两头都是少数人,而往往这两部分人又都是是一群人。
5 楼 lewisou 2007-02-21  
技术的革新是在造福勤奋的程序员,有什么好担心的。
4 楼 calmness 2007-02-19  
“当然作为程序员来说,最有利的是java成为cobol后最大的遗留系统的统治语言。”呵呵,这句话有点悲观过头了吧,不管如何,我们做应用的还是应该以实际应用为主,我不太喜欢参与这些争论,我应该是个比较中庸的人吧,对于我来说用得上才是最实际,我学ruby也仅仅是因为自己爱好,现在主要的开发还是用JAVA,争论那么多也没用,至少目前实际项目中也无法用到。
3 楼 ozzzzzz 2007-02-19  
我不认为java的平台化趋势会缓解java和ruby的语言战争。
首先第一点,从根本上上java是基于栈的语言,这一点和RVM还是有所不同。而ruby真的运行在java上的时候,其原先所具有的一些优势,比如并行处理和线程简单,是否也能无缝的链接现在还看不到前景。我怀疑最后情况会成为一场虚拟化的虚拟游戏。而就ruby来说,面对最新的并行编程的潮流,很可能会推出新的RVM改造,这个方面java还难于琢磨。当然ruby社区的行动是否迅速是前提,至少他们现在落后了。因此从这个方面发生ruby和java的冲突目前还没有开始。
第二,JVM的封闭和RVM的公开是另外一个潜在的问题。实际上这一点和上一点是有所联系的。当然RVM社区并没有PYTHON社区那么多kacker行为,但是这只是目前的情况,明天用的人多了,说不定就变了。当然你要是放弃c库,就如同rubbin说的,我想这不会是问题。不过jython出现很久了,我没有看到前途就真的那么好。不过也可能是python社区的人习惯于更多的简单类库,而不是java那些严密得罗嗦的库。
第三,ruby和java的哲学思想不同。java可以是说精通语言的大师精心设计的静态语言学术范本,ruby则是一个不同被重构着的产业现象。如果说相辅相成,java应该去借鉴的应该是OZ,而不是ruby。因此争吵是正常的,有的时候更多的争吵还是来自哲学而不是技术。
java在转身,我并不是否认java成功转身的可能性。但是java本身有许多的问题要解决,否则也就不用转身了。现在真正的问题其实在于java发展的方向是现在的ruby,还是未来的Concurrent语言。java这个转身的时机究竟对不对现在也是要看的另外一个问题。当然作为程序员来说,最有利的是java成为cobol后最大的遗留系统的统治语言。
2 楼 calmness 2007-02-19  
我并没有认为ROR最终会被取代,而我的观点只是认为我们不应该去争论到底哪种语言更好,我只是认为我们应该站在更宽广的视觉上来看待这些语言,我之所以学习RUBY也是因为我并不认为RUBY会被取代,而是我认为RUBY对于JAVA来说帮助更大于竞争,我更愿意看到两者相辅相成,而非是一天到晚的出现不同阵营之间无休止的争论
1 楼 robbin 2007-02-19  
一、做web应用,ruby没有性能问题
这一点我其实反复说过好多遍,而且论坛有很多帖子讨论这个问题,不想再重复了。做web应用,尤其是OLTP类型的应用,你用Java做,还是PHP,还是ruby,性能上没有什么区别,考虑到系统的水平扩展能力,ruby还要好于Java,从这一点来说,ruby比Java性能更好。

二、在Java平台提供ruby支持,和ruby on rails本身没有冲突的地方
在Java平台运行ruby,真正能够得到的好处是什么?性能的提升?当然不是,是丰富的第三方Java类库的支持。但是有没有损失呢?也有,ruby的C类库支持就没有了,例如RMagic你就跑不了。

三、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了?等着失业阿?有哪种编程语言,哪种应用框架不会被取代?








相关推荐

    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必看"这个主题,指的是对敏捷开发...

    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 文件的上传与下载

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

    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