|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
你对java乐观有点盲目。java的关键就是在服务器上表现优异,而且它提供了整个开发所需要的工具。应该是说,看哪天。net有没有机会赶上java。 Relevance征询公司的StuartHalloway比来编写了一个关于“Rubyvs.Java之怪谈”的系列博客文章。这个系列文章的灵感,源自他比来从一个从零起步、没有先前束缚的Ruby项目转回一个成熟完整的Java项目后的心得体味。在这个用时多日的项目过程当中,Halloway对以下几个“误区”举行了探究:
误区之一:Ruby合适小型项目,而Java更合用于年夜型的、庞大的项目。
归纳综合起来,Halloway主意,关于小型项目来讲,诸如未知要素一类的成绩大概会使进度表年夜幅度修改,而假如找到一个成熟完美的代码库则可使得开辟职员几近不必编写几代码。在Java方面,这些要素是很年夜的一个上风,由于它面前有一个成熟壮大的社区和一群十分有履历的开辟职员所撑持。关于年夜型项目,Halloway则称,诸如言语的临盆效力之类的要素会比代码库更加紧急,这也把天平上上风的砝码放在了Ruby一端。他指出,今朝现实已产生逆转,并注释说:
<P>以后Ruby非常合适的一种小型项目是:由数据库所支持的Web使用,由于RubyonRails抵消失落了一切Ruby在小型项目方面的倒霉要素。
误区之二:Ruby的某某特征使得代码难以保护
针对这个熟悉误区,Halloway的结论是:假如利用妥当,Ruby的言语特征会利用其编写的代码加倍易于保护。关于“易于保护的代码”的观点,他给出以下界说:
1.了解使用程序大概模块的整体计划思绪
2.找到你所必要的代码
3.浏览代码
4.对代码举行变动
5.反省变动是不是一般运转
上面是两种言语的上风对照:
了解使用程序大概模块的整体计划思绪:无一胜出
<P>[...]我的履历标明,在这个方面没有哪一个言语能帮上良多忙,但优秀的笼统观点会有所匡助。Java和Ruby包括良多不异的笼统观点:完成承继、类、多态和封装等等。
检察你所必要的代码:Java胜出
因为IDE的无效撑持,Java在这个方面胜出。
浏览代码:Ruby胜出
结论:Ruby代码更简单坚持DRY准绳,因而更简单浏览。
对代码举行变动:Ruby胜出
结论:在静态言语中举行代码变动更加简单。
反省变动是不是一般运转:不相手足
Ruby和Java都供应了对单位测试、验收测试和延续集成等方面的优秀撑持。
误区之三:Ruby太难了
有些人,好比CedricBeust主意说,关于一般开辟职员Ruby的难度太年夜。Halloway辩驳到,总的来讲,编程就不是一件简单的事变。只管有些丛书以“21天学会编程”的旗帜为噱头,但这是不成能的。因而,利用Java和Ruby编程都不是一件简单的事变。他主意说:
<P>[...]你不克不及经由过程限定言语的特征这类体例来下降难度[...]
误区之四:要剽窃Rails的创意很简单
Halloway提出,这个误区必要稳重对待,由于它说切实其实实有一部分是真的。Rails的很多创意是能够被剽窃到别的任何言语上往的。可是,关于这个概念的辩驳也存在:
<P>[...]别的一些创意则取决于特定的Ruby言语特征。Rails利用了openclass,使得我们能够写出更好的、可读性更强的对象模子。举例而言,你能够写出x.blank?如许的代码,而不是如许:StringUtilities.isBlank(x)。独自来讲,如许的区分其实不会发生很年夜的意义,可是跟着它们聚沙成塔了今后,代码的可读性就会失掉明显的提拔。[...]
误区之五:这是一场没有赢家的游戏
最初是系列文章的总结陈词:作为一门言语,Ruby胜出;但作为一个平台,Java胜出――
<P>那末,我们一切人岂非不克不及自相残杀么?我多但愿在我所生存的天下中,对言语的偏好其实不会给一位程序员贴上甚么标签。我们能够用Ruby、Scheme、Scala大概Erlang来编写代码,并且任何中央的JVM都是我们所能够保存的协调社会。
为了让如许的协调气氛得以持续,Halloway对应该接纳的举动给出了以下倡议:为JRuby项目奉献代码,并在从此的Java使用中利用Rake而不是Ant来办理。
比如模式、敏捷方法什么的,这些思想好,但是实施的人没有理解而且没有正确运用这些知识导致了开发周期的延长。比如说对象,通过getName()方法不能获取对象的名字。 |
|