`
calmness
  • 浏览: 353309 次
  • 性别: 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  
正所谓物以稀为贵,主流语言虽然用得多,但是相关人才也多,待遇取决于供求关系,供过于求自然就低,相反则高。但是这和语言本身未来的发展却不是正向的,正如你所说,它们是遗留系统的需要,这种需要只会越来越少,很少的机会会有越来越多的情况出现。

相关推荐

    java源码资源手机游戏J2ME毕业设计

    java源码资源手机游戏J2ME毕业设计提取方式是百度网盘分享地址

    第5章 存储器管理(笔记整理)

    内容概要:本章节深入探讨了存储器管理和相关概念。首先介绍了存储器的多层次结构,涵盖了寄存器、主存和辅助存储的区别及其功能。接下来讨论了主存储器、寄存器的功能和角色,包括二者如何支持程序运行及数据处理。之后分析了高速缓存和磁盘缓存的运作机制及其优化计算机性能的方式。接着概述了程序的装入、链接、地址绑定、内存保护的技术细节。此外,文章还讲述了存储器管理的高级技巧如对换技术、覆盖技术和不同的分配方式,以及各种存储管理模式的具体实施方式,比如连续分配、分页、分段及段页组合。 适用人群:对操作系统内部工作原理有一定兴趣的计算机专业学生、技术人员及爱好者。 使用场景及目标:适用于课程学习和项目实践中,帮助理解和设计复杂的存储管理系统。通过本文的学习可以达到对操作系统底层存储管理的理解,掌握不同存储分配策略的选择标准和技术应用。 阅读建议:建议逐步阅读每个小节,重点关注各部分内容的实际应用场景及其背后的设计理念。同时,尝试绘制存储层次模型和不同管理策略的工作流程图,加深理解。

    gradle611all.zip.png

    gradle611all.zip.png

    onnxruntime-1.16.0-cp39-cp39-win_amd64.whl

    onnxruntime-1.16.0-cp39-cp39-win_amd64.whl

    C#ASP.NET大型商城系统源码带数据库文档数据库 SQL2008源码类型 WebForm

    ASP.NET大型商城系统源码带数据库文档 1.开发环境:vs2010 + slq2005/2008 2.首先在SQL2005建立一个空白数据库。 3.有VS2010 打开项目,直接调试,根据出现提示建立数据库。 4.第3点出现的页面的管理员用户和密码就是后期软件的登陆帐户和密码。 5.本系统有两套模版,在店铺管理 - 页面设置 这里做修改 6.如果觉得自己的系统是空数据库,想弄成和演示的一样,那就将doc/database下面的数据库直接还原就可以了。 7.还原后的数据库登陆帐户和密码分别是:admin888 admin888

    C#ASP.NET酒店管理系统源码(WPF)数据库 Access源码类型 WinForm

    ASP.NET酒店管理系统源码(WPF) 一、源码特点 采用WPF进行开发的酒店管理系统源码,界面相当美观,功能齐全 二、菜单功能 1、预订登记:可选择入住时间、离店时间、所在城市、证件类型,保存、删除、查询、返回 2、住宿结算:新增入住、保存、删除、查询、返回 3、今日盘点:查询、返回 4、查询统计: 5、房间管理:增加房间类型、删除类型、增加房间、删除房间、保存、返回 6、用户管理:增加用户、删除用户、保存、返回 7、系统配置:基本功能 8、显示当前系统时间等功能的实现

    资源quazip.dll

    资源quazip.dll

    C#汽车货运管理系统源码 货运公司车辆管理系统源码数据库 SQL2008源码类型 WinForm

    汽车货运管理系统源码 货运公司车辆管理系统源码 货运公司管理系统采用winform C# 技术开发,数据库Sqlserver2008R2,同时兼容Mysql。 更新日志: 1.修改新增数据异常。 2.增加安装部署工程。 包括如下功能模块: 一、输入功能: 该系统提供了对基本信息录入、车辆登记录入、车辆各项费用录入、驾驶员登记录入、车辆出回车录入、主卡分卡充值录入、加油登记录入,配件信息录入等的模式录入和表格界面录入。在出现从表信息录入时会出现表格界面的录入方式其录入方式同模式录入方式一样。录入信息时可能会出现相同的信息,为避免重复录入部分字段设置了辅助录入功能,您只需输入几项即可完成录入功能。操作方便快捷,可大大提高您的工作效率。 二、查询功能: 您只需用鼠标点击一下相应节点,就可迅速查询统计销售的情况,根据不同的查询统计条件显示出需要的结果。 三、报表功能: 根据查询或者统计出来的结果生成报表。 四:打印功能: 系统支持打印功能,如想打印信息单击预览报表上的打印按钮即可。 五、安全功能: 进入系统后,单击菜单“系统→工具→用户及权限”可以设置系统的各用

    基于springboot+vue的大学生创业项目的信息管理系统源码数据库文档.zip

    基于springboot+vue的大学生创业项目的信息管理系统源码数据库文档.zip

    numpy-1.25.2-cp311-cp311-linux_armv7l.whl

    numpy-1.25.2-cp311-cp311-linux_armv7l.whl

    STM32神舟III号例程源码SD读卡器(神舟III号-库函数版)

    STM32神舟III号例程源码SD读卡器(神舟III号-库函数版)提取方式是百度网盘分享地址

    numpy-1.20.0-cp37-cp37m-linux_armv7l.whl

    numpy-1.20.0-cp37-cp37m-linux_armv7l.whl

    matplotlib-3.7.5-cp39-cp39-linux_armv7l.whl

    matplotlib-3.7.5-cp39-cp39-linux_armv7l.whl

    onnxruntime-1.16.3-cp38-cp38-win_amd64.whl

    onnxruntime-1.16.3-cp38-cp38-win_amd64.whl

    【node毕业设计】nodejs学院会议纪要管理系统源码(完整前后端+mysql+说明文档).zip

    环境说明: 开发语言:nodejs 框架:Express 数据库:mysql 5.7(一定要5.7版本) 数据库工具:Navicat11 开发软件:VS code/HBuilder X

    【小程序毕业设计】自助购药小程序源码(完整前后端+mysql+说明文档+LW).zip

    功能说明: 系统主要包括首页、个人中心、用户管理、商家管理、药品信息管理、药品分类管理、发票信息管理、系统管理等功能模块。 环境说明: 开发语言:Java 服务器:tomcat7及以上 JDK版本:JDK1.8 数据库:mysql 5.7数据库工具:Navicat11及以上 开发软件:eclipse/idea 小程序框架:uniapp/原生小程序 开发工具:HBuilder X/微信开发者

    基于Servlet和JSP实现的登录Demo

    《基于Servlet和JSP实现的登录Demo》项目是一个简单的 Java Web 应用示例,展示了如何使用 Servlet 和 JSP 搭建基础的用户登录功能。项目通过 Java Servlet 处理用户请求,使用 JSP 构建前端页面,并结合 MySQL 数据库验证用户身份。用户可以通过登录页面提交账号和密码,后端接口会对用户输入进行校验,并返回登录结果。本项目适合 Java Web 初学者,旨在帮助学习 Servlet 和 JSP 的基础用法,掌握表单提交、请求转发、数据库连接等关键技术点。项目环境包括 IntelliJ IDEA、Apache Tomcat 和 MySQL,支持 JDK 8 及以上版本。

    (全新整理)中国高校各专业录取分数线、招生计划、分段表数据(2008-2023年)

    1、资源内容地址:https://blog.csdn.net/2301_79696294/article/details/143733939 2、数据特点:今年全新,手工精心整理,放心引用,数据来自权威,且标注《数据来源》,相对于其他人的控制变量数据准确很多,适合写论文做实证用 ,不会出现数据造假问题 3、适用对象:大学生,本科生,研究生小白可用,容易上手!!! 4、课程引用: 经济学,地理学,城市规划与城市研究,公共政策与管理,社会学,商业与管理

    pillow-10.3.0-cp39-cp39-linux_armv7l.whl

    pillow-10.3.0-cp39-cp39-linux_armv7l.whl

    opencv_contrib_python-4.5.1.48-cp39-cp39-linux_armv7l.whl

    opencv_contrib_python-4.5.1.48-cp39-cp39-linux_armv7l.whl

Global site tag (gtag.js) - Google Analytics