7/9/2006
RoR风潮的背后
RoR的流行速度确实很有点出人意料,老实说,RoR在技术上没有大的创新,而且在php里早就有类似的尝试,别的不说,RoR作者在写RoR之前,就是一个php程序员,也有一个php版本的RoR,不过同样的东西在php阵营里却没有产生任何反响,反倒是Ruby阵营里红透半边天。为什么会有这样的情况出现,是一个值得思考的事情,一方面,php阵营内framework数量众多,用户有很多选择,这点和java类似,任何一个framework都很难达到RoR在Ruby阵营里那种一呼百应的效果,因为对于Rubyer来说,他们没有别的选择,RoR是唯一的framework,这样的垄断地位,某种程度上加速了RoR的火爆。另一方面,Ruby本身也确实存在一些php不及的优点,如完整的动态语言的特性。但在我看来,从一个长远的角度来看,php的表现仍然会优于ruby,原因如下:php有更好的用户群,10多年的积累不是初出茅庐的ruby能在短时间内超越的,而且,ibm, oracle都开始对php提供了企业级的支持,再者,php的社区是活跃的,语言级别上的一些不足之处会在未来的适当时候得到袮补。
btw:在说说ror本身,很多人认为它是web开发的终极杀手,我一直有点怀疑,它只不过是一个Active Record的应用而已,本质上讲,RoR是以数据库为中心而设计的,只适用于那些业务逻辑和数据结构十分相似的项目,可能是受了这几天看《领域驱动设计》这本书的影响,我一直认为这样的设计在一定的前提下是可以的,但不能体现OOP的真谛,从某种程度上来说,它掩盖了问题的实质:领域对象的价值!唉,全世界的程序员辛辛苦苦的研究了面向对象几十年,一觉醒来,被RoR打回解放前。