论战人物志
钟胜辉,也就是国内PHP领域广为人知的淡淡风。钟胜辉是PHPcms的创始人,之后他第二次创业,带来了CMSTOP。在与51CTO编辑交流的信件中,钟胜辉是这样评论PHP的发展的:
“没有哪种语言可以做到“万能”,Java有这样的野心,但我们可以看到Java现在的境遇似乎并不如PHP那么红火,如果PHP也追求“万能”,那将是一场灾难。 ”
Rasmus Lerdorf,1995年创建了PHP脚本语言,并成功应用到他的网站中。他可能是格陵兰最著名的电脑牛人了。51CTO编辑未能直接联系到他,但却有机会得到了Linux Format杂志近日对其采访的访谈内容并加以翻译。RL是个很风趣的人,从访谈内容可见一斑:
记者:“PHP团队的组织结构是什么样的?” Rasmus:“没有任何结构!”
Dave Thomas是敏捷宣言缔造者之一,风靡全球的《程序员修炼之道》以及《Programming Ruby》的作者,开发领域的始祖级人物。前日Dave Thomas因敏捷中国大会来北京,51CTO编辑有幸对其进行了专访。对于Ruby,Dave情有独钟:
“对于Ruby,基本上我就是一见钟情了,具体原因其实我也不是很清楚,我只知道它很适合我。”
Peter Cooper是英国人,Ruby Inside的站长,《Beginning Ruby》的作者。Peter对Ruby语言及社区的了解在英语社区中可以说是最前沿的。51CTO编辑认识他时正是从他那里得知_why离开Ruby社区的时候,不过这并不影响Peter对Ruby的信心:
“流行的语言将会更多,而不是更少。所以其他语言仍有很多空间。”
陆亦斌目前是财帮子的创始人之一,在国内的Ruby领域有着很大的影响力。陆亦斌是一位办事很干脆的人,正如他对Ruby的形容那样:
“Ruby最大的优势就是开发效率高,技术性创业公司一般喜欢选择它。”
Ruby很简单……真的吗?
观点:Ruby标配很简单,谁用谁知道
我的开发环境在Mac OS X上,生产环境在Linux上,这些系统上ruby都是标配,几乎不需要什么额外的搭建工作。ruby自身的package机制gem也非常简单好用,很多软件包的安装都是一条命令。
观点:示范很强大,Ruby很神速,但你真的会用么?
有许多人转向Ruby on Rails是因为他们受到示范视频和“嘿!你可以在10秒内构建一个应用程序”的引诱,但当他们真正需要干点实际的事情时,他们会认为“哦,垃圾,我真的不了解Ruby!”
观点:有了Ruby Gems,腰不酸了,腿也不疼了
真正令Ruby非常实用的因素,有很大一部分应该归功于Ruby Gems。这是Ruby库的一个打包机制。在Ruby Gems之前,我们不得不下载库,每一个库都有自己的创建指示。你可能花了5分钟创建好了,然后它又提示你“哦,不行,我还需要那个库。”Ruby Gems解决了这一切,这真的很神奇。
观点:谁说Ruby没有好的IDE?
对于现在的Ruby和Rails开发者而言,最好的开发工具应该是JetBrain的RubyMine:这个工具是IntelliJ那批人开发的。此外还有Aptana的RADRails,Windows上则有基于VS 2008的Ruby in Steel。
Ruby和PHP有什么优点?
观点:Ruby良好的代码可读性与社区密不可分
Ruby有着很好的代码可读性和可维护性,我觉得这样的结果有两方面的原因。
一方面是Ruby的一些语言特性使得提高可读性和可维护性成为可能,另一方面ruby社区有一种重视可读性和可维护性的风气,社区中很多人也花了很多时间来推广和实践这些理念,甚至还有很多工具可以帮助开发者来监控和优化这些指标。
观点:Ruby语言简洁,语法随意,很吸引人
对于Ruby语言来说,语言简洁、语法随意是它的一个很吸引人的地方。单纯地从代码量的角度来说,Ruby程序的代码量就要小得多。而且Ruby语言的语法非常随意。另外,由于Ruby语法的简洁性、随意性,使得Ruby语言天生具有敏捷特征。
关于程序可读性,我认为关键在于人。当然,总体来说,高级语言的代码可读性总比低级语言的代码可读行强。
观点:说Ruby是敏捷的就好像说溜冰鞋是敏捷的
Ruby是一个工具。工具不会敏捷。如果你把我放在溜冰鞋上,我看起来会非常的不敏捷。如果是一个优秀的溜冰运动员穿着溜冰鞋,那看起来将会棒极了。语言本身不是敏捷的,敏捷的是你使用语言的方式。你可以进行敏捷C开发,可以进行敏捷Ruby开发,我不认为语言的种类有什么关系。
Ruby和PHP真的不安全么?
观点:谁说Ruby不安全?
我不认为说Ruby不安全是正确的。本质上来说,Ruby与其他图灵完善的语言一样安全。不安全只是因为开发者没有编写安全的代码。Ruby非常的灵活,不过当你的进程不够严谨时,灵活性可能会造成问题。
观点:面对安全问题,Ruby并不孤独
对于Ruby,我知道有几次发现安全缺陷的事情。安全是相对的,不存在绝对安全,每种语言和框架都有自己的问题,ruby面临的问题并不比其他语言更严重。Rails框架一直对web开发中的安全问题比较重视,缺省方式下就能抵御不少script injection,xss等等攻击,得到基本的安全保障。
观点:不是PHP不安全,关键在于人
网站的安全是一个比较系统的问题,它跟服务器安全以及代码的质量是直接相关的,我们并不能说PHP这门语言不安全。目前PHP有很多优秀的开源产品,例如discuz,phpcms等,即使在开源的情况下,这些产品也保证了足够的安全性。PHP的门槛很低,一两周的时间就可以入门,而这些“快速入门”的程序员,往往容易忽略代码安全问题。安全问题的改善,取决于越来越多的PHP程序员对这个问题的重视程度。
Ruby与PHP的框架孰优孰劣?
观点:PHP框架是比ROR混乱点,不过很有用
一个优秀的框架能在很大程度上提高工作效率,尤其是对大中型项目。当然如果对项目有足够的把控能力,框架也并非是必须的,毕竟PHP的框架跟ROR的情况有所不同,多而混乱,而学习一个框架是需要时间的。的确,很多老的PHP程序员认为自己对项目有足够的把控能力,不需要框架这么累赘的东西,然而从长远来看,一个优秀的框架可以延长一个项目的寿命,降低维护和二次开发的成本。
观点:Rails 3.0的哲学,我不明白
我觉得Rails很好的原因之一,便是它的武断。它会告诉你:这是编写Web应用的正确做法,你照做吧。做为一个开发人员,在一开始的时候,我很讨厌这一点,不过后来我觉得这是个好事:因为每个人都一样,所以有着完整的一致性。在Rails 3中,他们进行了简化,也放置了更多的层(layer)。这些层允许你做一些改变。我担心Rails正在失去它的一些自负。它正在把决策权归还给程序员。
观点:Ruby的一些轻量级框架也不错
Rails是ruby社区最主流的web开发框架,每年都有一到两次比较大的升级,前段时间刚刚合并了另一个也很有名的开发框架merb。除了Rails还有一些轻量级的框架,比如sinatra可以选择。我们开发中的持续继承环境就使用到了sinatra。
Ruby和PHP发展现状如何?
观点:Ruby现状不是很好,不过未来大概还是光明的
我认为Ruby最近有点萎缩,也许新版本马上会出来,速度也许真正会快一点(笑),到那时也许我会关注,但它一直存在性能问题,而且官方也承认了这一点,因为我认为新版本性能可能会好一点,我不是代码生成的狂热者。
观点:PHP越来越火爆,Ruby还行吧
为什么PHP能大行其道,杀入排行榜的三甲呢?从表面上来看,这是就业环境使然。就我目前了解到的情况,PHP是国内大部分web项目的首选,而且有很多公司从其它语言(如ASP,JAVA)转到了PHP。Ruby的流行更多地源于Ruby on Rails,这个框架的流行程度甚至超过了Ruby语言本身,也引发了其它语言平台上对框架的研究。而Python在近来的被关注度和发展速度要超过Ruby,被一些喜欢创新的项目采用,这可能要更多地归功于google。
Ruby和PHP有什么令人兴奋的特性?
观点:PHP 6将关注Unicode编程与国际化
我们并没有决定放慢PHP 6的开发速度,因为人们对Unicode编程很感兴趣,但Unicode编程不是那么简单的,有许多复杂的东西需要考虑。从理论上讲,每个人都希望最终使用UTF-8……许多大公司希望推广Unicode,因为他们倾向于需要国际化。
观点:PHP的面向对象是弱点,不过问题不大!
PHP的面向对象属于历史遗留问题,而且慢慢也会成为历史问题。从PHP5相对PHP4的进步,我们有理由去期待PHP6给我们带来更多的惊喜。事实上PHP5的面向对象已经足以满足大部分WEB项目了。一门语言要想生存下去,就得去适应技术发展的潮流,并不断做出调整,在这方面,PHP的团队充满了活力。
观点:Ruby 1.9么?有点小问题
ruby 1.8.x历史已经很久了,运行很稳定。1.9.x存在一些兼容性问题,但也在逐步改观。我目前的工作基本上使用的都是ruby 1.8.x。
Ruby和PHP,流行的走向?
观点:PHP好处多多,优势明显
合适的就是最好的,PHP的快速,开发成本低,周期短,后期维护费用低,开源产品丰富(这点可以影响到很多项目的决策),这些都是Ruby和Python无法比拟的。另外,在很多大项目中,Python更多地是做为一种“粘合剂语言”出现,似乎正在走向与PHP不同的发展方向,让我们拭目以待。
观点:对于Ruby的未来,我有信心
不管是Sun(现已被Oracle并购)的JRuby,还有微软的IronRuby,都体现了两大软件厂商对Ruby的信心,而且这两个软件厂商的支持必然让Ruby更流行。
对于Ruby语言来说,目前最大的短板在于开发群体不如Java、PHP开发群体活跃。Ruby语言在国内的活跃主要还是Rails带动的,而且国内真正采用Ruby开发的公司非常有限,还需要时间来培养。



















