我认为实践论者就是真正从软件用户角度出发,作为一个程序员,追随新技术并不难,因为好奇是天生的,但是从软件企业用户出发则是后天培养,是专业素质体现。
目前很多传统企业还在使用COBOL,这是因为COBOL提供了企业应用的一个平台,Java花费了10年时间才成为今天的COBOL,Java平台提供的丰富构件库和可伸缩性是无与伦比的,连.NET都无法比拟。
Java是当前企业应用王者,未来还会是,其他不谈,就因为可伸缩性。
PHP是定位在Web网站应用,根本无益染指企业应用,这才是专业性和智慧点,这也是PHP一直存在的原因。作为脚本语言的ROR今天还是定位在传统脚本PHP同样层次。
作为OO脚本的ROR首先要求使用者有OO思维,这点从J道大量帖子已经看出,真正具备OO思维程序员少之又少,包括那些所谓高手,他们推崇RoR实际是叶公好龙罢了。
当然,无论OO思想普及得好不好,从理论上讲:ROR可能取代PHP,这就象当初PHP替代PERL一样,大不了程序员将ROR当作PHP使用(就像现在很多人使用了JSP就以为在用Java了)。ROR能否替代PHP还难说,ROR全面取代Java更是遥不可期,只能说蚕食。
论Java和Ruby语言的变迁风险
所以,我个人一直不喜欢在Java ROR PHP这样语言表象来争论,因为设计思想才是最重要的,具有良好OO设计思想的人,语言学习只是几天时间花费而已。
只是楼主这个帖子涉及企业规模界定,我发现判断标准分积极和消极两种观点,就象事务锁分乐观和悲观一样,企业规模也分积极和消极,如果你认为你小企业将来会成为大企业之一,那么你就应该重视可伸缩性,这是积极观点导致的选择;如果你认为成为大企业的可能性很小,那么可伸缩性就不是你的首要选择(敏捷方便可能就成为首选),这就是消极观点导致的选择。
积极和消极的选择还和人的性格有关,而很多软件人员性格是内向偏稳重,所以企业规模界定消极论还是很有市场的。这些都是软件之外因素,至于好坏不能定论。
BTW:在我前面帖子"用了敏捷实践就是敏捷项目吗?"中提到的FDD(我一开始还以为是TDD),FDD本站早有讨论:
[该贴被banq于2007年07月28日 20:28修改过]