`
luzl
  • 浏览: 569007 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

Ruby 将替代 Java 吗?我想没这么快

    博客分类:
  • Java
阅读更多
   我听过很多这样的议论:Ruby On Rails (RoR)够酷够简单,编写一

个Web Application的速度比Java快10倍,并且它拥有一些Java所没有的优越特性.所

以,Ruby将代替Java成为下一代编程语言,正如Java取代C++/COBOL,C++取代Fortran

一样.


   然而我认为这种想法有一些严重的逻辑问题,首先,正如高新技术的短暂历史证明的一样

优秀的技术并不一定能够取代与之相比有劣势的技术,事实上相反的情况经常发生。决定

Ruby与Java孰强孰劣的正在力量不是RoR比Java EE有多优秀而是Java EE对于主流开发人

员来说是否足够好.


   从经济学的角度来讲,选择技术上更优秀的编程语言不能带给你总量成本和创造性方面的

优势.能够带给你优势的是更好的需求收集,更好的客户反馈,更好的开发流程,培训的更好

的开发者,还有更好的开发工具,等等.从软件工程的角度讲,在实际的开发中使用的语言在

价值链的越低端,越容易实现(成本越低)。


   现在你也许会问,"如果如你所说语言的选择无足轻重,那为什么Java会变得如此成功,

并且取代了如此多的老编程语言?"那么让我们来看看Java是否真正取代了其它语言,我最近

在研究所开发一个PhD的程序,所有新的令人讨厌的捣弄数字的软件我们都是用Fortran编写

的.它没有被C++和Java取代 .在这个项目中Fortran已经足够好了,转向一个新的够酷

的语言不能是科学计算更好,更快,并且重新培训会使得项目丢失任何潜在的创造性成果.再

举个例子,支配富客户端软件开发的语言仍旧是C/C++/VB.即使是大规模宣传销售的


  据我观察一种语言不能取代一种语言,新的语言的崛起总是带来新的应用领域和大量涌入

的开发人员他们愿意尝试一种新语言--很简单,这是因为这一领域没有被任何一门语言占领.

你必须为新语言创造足够大的空间来使它强大,Fortran随着科学计算崛起,Cobol随着营业

计算崛起,Java随着Web Application崛起,那么现在是否有一个崭新的计算机领域等着

Ruby和RoR占领呢?回答是否定的,现在不是另外一次大扩张时候.


   Ruby擅长于简化一个简单的开发任务,创建简单的数据库驱动Web Application.我坚

定的认为Java在这一领域已经足够强大,没有RoR Web 站点可以完成而Java站点不能完成

的任务(虽然存在Ruby可以做但是Java不能做的任务,但是坐在浏览器前的用户并不关心这

些)Java仅仅是占用了更长一点的时间让初学者入门,并且那是对于高端应用和遗留的老系

统而言,重新培训Ruby开发人员并不能证明生产效率的提高,并且RoR工作区的应用相应的

更加昂贵.


   当然Ruby在一下两个方面值得学习的重要技术:

   #RoR最重要的影响是驱动Java EE的创新--正如C#驱动Java 1.5的创新.我们已经它已

经在发生.

   #对于想快速创建Web应用的人,Ruby/RoR是一个很好的尝试工具,用来向市场展现快速

一个beta/原始版本.
   所以,虽然我鼓励每一个Java开发人员学习Ruby/Ror,但是我并不认为它能取代Java在web Application 领域的地位.呵呵,仅仅是我的想法而已!

http://java.sys-con.com/node/152658
分享到:
评论
1 楼 jiyanliang 2008-12-27  
Java取代C++了吗。。。

相关推荐

    深度剖析Ruby vs Java误区

    为了促进这种和谐共存,Halloway提倡为JRuby项目贡献代码,以及在Java应用中采用Rake替代Ant进行构建管理,这将有助于融合两种语言的优点,推动跨语言的协作和发展。总的来说,选择Ruby还是Java应基于项目的实际需求...

    Ruby中文文档.zip

    Ruby,一种简单快捷的...由 Ruby 语言本身还发展出了JRuby(Java平台)、IronRuby(.NET平台)等其他平台的 Ruby 语言替代品。Ruby的作者于1993年2月24日开始编写Ruby,直至1995年12月才正式公开发布于fj(新闻组)。

    ruby安装包,window安装包

    由 Ruby 语言本身还发展出了JRuby(Java平台)、IronRuby(.NET平台)等其他平台的 Ruby 语言替代品。Ruby的作者于1993年2月24日开始编写Ruby,直至1995年12月才正式公开发布于fj(新闻组)。因为Perl发音与6月诞生...

    Ruby入门到精通

    Ruby入门到精通,Ruby,一种...由 Ruby 语言本身还发展出了JRuby(Java平台)、IronRuby(.NET平台)等其他平台的 Ruby 语言替代品。Ruby的作者于1993年2月24日开始编写Ruby,直至1995年12月才正式公开发布于fj(新闻组)。

    ruby最新版稳定版

    由 Ruby 语言本身还发展出了JRuby(Java平台)、IronRuby(.NET平台)等其他平台的 Ruby 语言替代品。Ruby的作者于1993年2月24日开始编写Ruby,直至1995年12月才正式公开发布于fj(新闻组)。因为Perl发音与6月诞生...

    ruby-1.8.7-p302.tar.gz

    Ruby,一种为简单快捷的面向对象编程(面向对象程序设计)而创的脚本语言,在20世纪90...由 Ruby 语言本身还发展出了JRuby(Java 平台)、IronRuby(.NET 平台)等其他平台的 Ruby 语言替代品。该版本为ruby-1.8.7-p302

    ruby-2.6.6.1.rar

    由 Ruby 语言本身还发展出了JRuby(Java平台)、IronRuby(.NET平台)等其他平台的 Ruby 语言替代品。Ruby的作者于1993年2月24日开始编写Ruby,直至1995年12月才正式公开发布于fj(新闻组)。因为Perl发音与6月诞生...

    Working with Ruby Threads

    ### Ruby线程开发技术详解 #### 引言 在计算机科学领域中,多线程编程是一种常见的技术,它允许多个任务同时运行在一个程序中。《Working with Ruby Threads》这本书深入探讨了Ruby语言中的线程机制,对于希望利用...

    Ruby on Rails插件

    RaPT是一个替代方案,可以通过gem安装,提供了从命令行搜索插件的功能,并且因为其缓存机制,运行速度较快。开发者可以使用`rapt search`命令查找特定功能的插件,例如在Rails项目中添加日历功能的插件。 Rails插件...

    beyond java

    作者通过深入分析,引导读者理解Java语言的局限性,并探索像Ruby这样的替代语言所具有的创新特性。 Ruby是一种动态类型的语言,由Yukihiro Matsumoto(松本行弘)在1990年代末创建。它设计的目标是简洁、易读性和...

    Ruby、Python不能威胁Java的13个理由

    描述提到,作者通过数据分析反驳了Java将被替代的观点,并提出了论据。 1. **语法的重要性**:Java的语法与C、C++、C#等语言相似,使得程序员能够快速上手,减少了学习成本。而Ruby、Python等语言的语法差异较大,...

    ruby 2.4.4 X64

    由 Ruby 语言本身还发展出了JRuby(Java平台)、IronRuby(.NET平台)等其他平台的 Ruby 语言替代品。Ruby的作者于1993年2月24日开始编写Ruby,直至1995年12月才正式公开发布于fj(新闻组)。因为Perl发音与6月诞生...

    ruby-2.4.5.tar.gz

    要安装和使用Ruby-2.4.5,你需要先使用`tar`命令解压文件,然后进入解压后的目录,并运行`./configure`脚本来配置编译环境,接着执行`make`进行编译,最后使用`sudo make install`将Ruby安装到系统路径。对于不同的...

    ruby javatoc++

    标题 "ruby javatoc++" 暗示了一个关于如何从Java代码转换到C++代码的主题,这可能涉及到跨语言编程、编译器原理或工具的使用。在描述中同样只给出了简短的 "ruby javatoc++",我们可以推测讨论的是使用Ruby脚本处理...

    ruby-1.9.3-p0-doc-chm

    由 Ruby 语言本身还发展出了JRuby(Java 平台)、IronRuby(.NET 平台)等其他平台的 Ruby 语言替代品。Ruby的作者于1993年2月24日开始编写Ruby,直至1995年12月才正式公开发布于fj(新闻组)。因为Perl发音与6月...

    有可能挑战Java优势的四种技术

    这些技术各有其优势,虽然它们不会完全替代Java,但它们在特定场景下提供了Java所不具备的效率和便利。随着开发者寻求更高效、更灵活的解决方案,这些技术可能会逐渐侵蚀Java的市场份额。因此,了解并掌握这些技术...

    为什么你一定要学习Python或Ruby语言.pdf

    本文将探讨为什么学习Python或Ruby对于程序员来说是必要的,并与一些常见的编程语言进行对比。 首先,Python和Ruby相比C/C++/Java等语言,能显著减少代码量。据估计,Python或Ruby的代码行数仅相当于Java代码的...

    Java SE 7 Documentation

    4. **动态语言支持**:Java 7添加了 invokedynamic 指令,支持动态语言如Groovy、Ruby等在Java虚拟机(JVM)上的运行。 5. **钻石操作符**:在创建带匿名构造器的类实例时,编译器可以自动推断出类型参数,如`Map, ...

Global site tag (gtag.js) - Google Analytics