最新测试,Java平台的grails和RoR性能比较, grails性能要高:
http://docs.codehaus.org/display/GRAILS/Grails+vs+Rails+Benchmark
grails是什么?
http://docs.codehaus.org/display/GRAILS/Chinese-Home
Grails特别为吸引java平台的新手而设计开发。如果你用PHP、Perl或Python开发web应用,Grails将使您感到特别轻松。
说白了,是基于Java语法的一种脚本语言,基于Java的脚本语言都比ror快(如果上面测试没有被推翻),直接基于Java的当然更快(当然,还有人抱怨java慢呢). RoR开发起来快,运行跑起来慢,意义有多大(当然很多所谓大师正在努力提高...)?
关于开发效率,我在另外一篇文章也说过,使用者素质和语言本身是一个相依相存的关系,抛开使用者也就是程序员素质,单单谈语言好坏或开发效率,很显然是不符合基本逻辑的.
http://www.jdon.com/jivejdon/thread.jsp?thread=31216&message=23104299#23104299
如果开发时是裸奔,在系统变得复杂时,需要慢慢穿上内裤外套,一开始的爽快又有何意义呢?
这些一味强调开发速度的观点是片面的,至少,Evans DDD建模(这是RoR炫耀的优点)都是一个循序渐进过程,因为人们认识一个事物总是逐步的,不可能象神仙一眼抓住需求本质,然后就开始裸奔编程.这就需要一个迭代过程.
迭代敏捷过程中,对语言开发效率高是一种要求,否则跟不上快速变化的需求怎么行,但是往往系统复杂性和开发快速性是矛盾的,看看这个案例:
http://www.jdon.com/jivejdon/thread/31244.html
访问量那么大,系统操作如此复杂,如果象这样案例能够裸奔开发出来,那人类都成外星人了.
其实开发效率不是越快越好,有一个适度,原因:开发效率越快,设计质量就可能打折扣,导致维护拓展不能快速完成,这样又很难跟上需求的变化,那么又何谈敏捷? 所以,开发效率和软件设计质量存在着相互制约。RoR虽然作为敏捷工程推荐语言工具,也逃脱不开这个基本之道。
老子曰:企者不立 跨者不行,就是这个道理(越是垫脚想站高反而站不稳,跨开双腿想快走反而走不快)
相关话题:
Java Web层的下一个王者是谁?
http://www.jdon.com/jivejdon/thread/31553.html
Java、RoR、PHP,一个都不能少
http://www.jdon.com/jivejdon/thread/32349.html
[该贴被banq于2007年08月05日 16:00修改过]