您的位置: 新闻频道 Ruby新闻

早些时候,当Christian Sepulveda写了一篇有趣的贴子“为什么Rails将会占据统治地位?”。这是一篇在Rails社区中传颂的赞美诗,但对此我却不能认同。

 

我是一个RubyRails的超级“粉丝”,并运用在我的日常工作和个人项目中。然而我看不到它们会在不久成为主流,或是用Christian的话来说“Ruby/Rails 将取代java成为企业开发中的语言和平台。”

 

其他的竞争者已经失败了

Python和它的框架Zope/Plone,Twinsted现在是DjangoTurbogears是企业开发中的竞争者。同时也是Google四种开发语言中的一种。可除此之外,有没有更多的认可?python的工作数量并不多,而Ruby的工作数量甚至还不及Python的。我知道在增长数量上ruby的曲线很惊人,但即便如此那要到多少年后,ruby才能遮住Java的光芒。

 

 

 

企业——强大的开发语言——不需要

Ruby伙同它那咄咄逼人的Rails一起,一起成为挑战者。但它的情况和Python相似。简单的来讲Ruby语言对主流开发很强大,Python也同样强大,Lisp的情况也一样。

 

导致强大语言失败的原因很简单,因为大型企业不需要。大型企业不需要雇佣那些“明星”级的程序员(而正是他们才能把强大语言表现的淋漓尽致)。大型企业需要那些能互相沟通的开发者,哪怕雇佣50个这样的家伙也不是问题。你可以在google上查一下“java团队的平均人数”得到答案。

 

Java和设计模式适合一大群普通的开发者。请记住,我只关心开发团队的人数而不是实施团队的。

 

使用java,你可能缺少使用“函数作为一等公民”的便捷。你不能像在Ruby中打开一个类改变其中的默认行为。这对元数据编程来说是个限制。限制总和安全交织在一起。这就是很多开发者摈弃java的原因,这也是为什么它对大多数普通开发者非常有用。(你会注意到我使用的词汇,“普通开发者”,“一般程序员”。并不是说java开发者中没有绝顶高手,但是绝大多数的开发者还是普通水平)

 

使用门面/适配器/观察者模式,能让高级程序员能够摆脱单个程序,把代码舒适的组织起来,并不会破坏任何地方。半数的问题在编译器就能够被发现,其余的则可以通过静态分析工具来解决。而动态语言哪?它们没有那些安全的保护伞。

 

你一定会提的Ruby/Rails的开发氛围吧。我知道,我们有插件和gems。然而最大的缺失是在学校的教育。年复一年,Java通过各种职业学校和高校培养了大量的毕业生,他们往往只懂java。多数学校,ruby并不在它们的课程中,或者说还不是主流。在起跑线上ruby已经输了,更别说是4年后他们毕业后开始找工作。

 

Christian总结说“经济决定了软件需求,经济也同样会让RubyRails占据统治地位。”我同意这句话的前半段,至于后半段中经济起决定作用,看起来还不是那么让人信服。目前为止好的Ruby程序员比起他们的Java同行来说仍然凤毛麟角。人员数量上的匮乏将使得使用Rails开发的成本增加,而Java开发组却有着一群普通程序员使成本趋于平衡。

 

让我来看另一番景象。假设一天晚上DHH出现在每个企业的CIO的梦境中并说“明天开始使用RubyRails,他们醒来并开始寻找ruby程序员。然后哪?由于程序员严重缺少对Ruby的知识,为了满足需求他们不得不使用其他的语言。主流?啊哈哈哈。

 

我知道一些大公司准备开始使用Rails。这是个好消息,但是要成为主流仍然有很长的路要走。要成为主流,意味着要赢得非科技企业的心。那些企业的应用都是你从未看见或是听过的。他们不需要奇特的技术,交际网络或者是RESTful风格的APIs。几百万的美金合同都等待着来实现,当然是用Java的。

 

那么应对策略哪?

为什么Ruby/Rails的开发者不堪余力的想成为主流哪?这又是一个老生常谈的话题了。如果Ruby成为新的Java语言了,早期的开发者突然间有了5年多的开发经验其余的人也有了两年时间。这就是为什么那么吸引人了。成为主流意味着那些非科技公司中的企业,需要用12万年薪雇佣一个高级程序员,而他也要比3万年薪雇佣3个初级程序员高效的多。

 

Paul Graham2006 RailsConf上发表的“Power of the Marginal”仅仅过去了2年。之后发生了什么?为什么我们仅仅对那些外围细节如此感兴趣反而阻碍了成为主流的步伐?

 

RubyRails部分吸引人的原因是因为它们处于技术的前沿。一场“R2EE”的运动正拉开大幕。然而时间会审视每一个新的语言和框架。Scala on Sails.Javascript in Jail.Erlang with Extra-terrestrials.你想什么就是什么。

 

PS:再重生一遍,我个人丝毫没有冒犯Christian Sepulveda——这篇文章是争锋对那些任何认为Ruby/Rails快速能够成为主流语言的人——我只是碰巧看到他的帖子。

 


来自:citrusbyte

评论 共 40 条 发表评论

sunangel 2008-04-14 09:45
java 强悍吗
当然,曾经盛极一时
c,c++,php,perl,cgi,asp,asp.net
各种语言都代表了一个应用实现的角度
rail再有十年再看
当前不过是个小工具而已
fxbird 2008-04-09 09:21
ruby,ruby,ruby
xly_971223 2008-03-28 11:17
如果对安全性要求不高 像中小企业 没有必要非用java不可
其他语言一样可以实现 一样可以做的漂亮
但是如果要考虑安全的话 java是不二选择
越灵活的语言 包括弱类型的语言 它的安全行越差
linliangyi2007 2008-03-27 21:09
兄弟们,一切的一切都归究经济实力啊!!
现有的主流语言。net和Java都是大财阀用金钱堆砌的市场啊!大量的宣传,推广费用才能忽悠广大的企业。
所以,关键是钱的投入~~~再垃圾的语言都能被吹上天哦!!
rubynroll 2008-03-27 15:52
对我来说,我丝毫不关系Ruby是否能取代PHP或者JAVA的地位。我关心的是,Ruby是否能够取代Perl和Python的地位。
zeroblue 2008-03-26 21:56
唉,程序员写的文章,怎么读起来都这么别扭呢。
行文间有许多毛病,虽然不该挑这种毛病,可读起来确实太难受了,感觉一边读一边在吃苍蝇。
lgx522 2008-03-26 17:51
PHP称霸的根本原因在于群众路线,定位准确、简单直接、运行效率高。

编程语言和世间的其它事物一样,要得到广泛接受,必须站在人民群众的角度考虑问题,切不可搞些曲高和寡的事情。Ruby语法很精炼,也很难掌握,这一点就决定了不可能太普及。

J2EE虽然很复杂,但Java本身很简单,语法优美、规范,凭这一点就足以赢得众多开发者的欢迎。
JavaInActoin 2008-03-26 17:14
Rails不能给客户带来更大价值。Ruby语法上的优势没有革命意义。
hantsy 2008-03-26 14:50
现状来看,近期是不可能超过PHP,离perl , python都还有好大一段距离,。。。超越java 谈何容易。
glamey 2008-03-26 14:46
国外的一些网站大多都是Php,感觉一些网站不一定非要用java来开发。
其实.net也是不错的。虽然我的java科班出身。
fins 2008-03-26 12:17
为什么现在大家总是会忘记PHP呢
我还是很喜欢php的

ruby先超过php 再考虑java吧
night stalker 2008-03-26 12:01
我想,end的好处在于写scriptlet,因为
<% end %> 比 <% } %> 好看!!
xio 2008-03-26 11:33
忘记哪看到的一句话了:

“ROR有可能取代PHP,有可能。”
zjumty 2008-03-26 11:17
大家不觉得随着RoR的出现, 这几年Java社区的发展速度快了很多吗? 干嘛非得挣什么主流非主流.
ltian 2008-03-26 09:08
Java 取代其他语言是因为有“跨平台”这样的一个“big thing”,不知道ROR有什么“big thing”能够强烈吸引开发人员,目前所看到的仅仅是“语法精炼简洁”,我想这还远远不够吸引别人改行吧。
halfmile 2008-03-25 17:59
文章作者模式忽略了一个广泛被商业采用和学校教育的语言:PHP。

a) 十年前发生在PHP上的情况,为什么不会发生在Ruby身上呢

b) Ruby的设计目标本和Java不同,语言直观、代码精炼的目的是为了提高个人的开发效率。团队协作方面的不足通过开发方式(比如 Test-driven development, parallel programming)来补足。
rubynroll 2008-03-25 17:25
虽然对结论没什么异议,文章的论点却实在荒唐:

1。 其他的竞争者已经失败了 ==> 所以Ruby必败?依照此理论,Java永远第一...

2。 企业——强大的开发语言——不需要 ===>真的么?企业?什么企业?去问问ThoughtWorks需要不需要Ruby...中小企业是未来的主力军,Ruby的土壤并不缺乏。

3。 那么应对策略哪?...为什么Ruby/Rails的开发者不堪余力的想成为主流哪?...开发者突然间有了5年多的开发经验其余的人也有了两年时间... ==> 这个解释真的,真的很搞笑。

PS: “门面/适配器/观察者模式” 这个也很好玩,不如把“我知道,我们有插件和gems” 也译成: “我知道,我们有插件和宝藏” :)))
qsky 2008-03-25 15:33
“Ruby/Rails 将取代java成为企业开发中的语言和平台。”
还需要一个漫长的过程,短时间内是不太可能的,java的企业级应用现在已经非常的成熟,现在只能说出生ruby不怕java
realdah 2008-03-25 14:12
不懂,不了解。。。

只是觉得奇怪,一个弱类型语言,如何才能成为企业的核心?
hscartoon 2008-03-25 13:30
我也不习惯非c语法系的语言风格!呵呵

发表评论

您还没有登录,请登录后发表评论