Rasmus Lerdorf可能是格陵兰最著名的电脑牛人,他1995年创建了PHP脚本语言,并成功应用到他的网站中,在他的一手栽培下,PHP已变成一个强大的,完全成熟的语言,目前世界各地已有数百万PHP应用案例。
Linux Format杂志对Rasmus Lerdorf做了一次专访,为我们揭开Rasmus Lerdorf现在在PHP社区的地位,以及早期他是如何决策的,才让PHP实现了今天的巨大成功。
Linux Format(后面简称为LXF):你目前参与了多少PHP的开发?
Rasmus Lerdorf(后面简称为RL):现在比10或15年前少多了,但我现在每天仍坚持阅读邮件列表,讨论功能和偶尔修复一下BUG。我个人对安全和性能相关的问题更感兴趣。
LXF:PHP团队的组织结构是什么样的?现在看起来似乎不太清晰…
RL:没有任何结构!
LXF:那么谁做最后的决定呢?
RL:我们一起呀!我们内部有一个完全开放的邮件列表,任何人都可以订阅它,阅读它,在上面发表意见等,我一直坚持保持它的透明度,任何人都可以翻阅邮件列表,如果出现分歧,那么谁先实现通常谁就赢了。
LXF:作为最终仲裁者,你是否有压力?
RL:当然有压力。我总是试图淡化这一角色,因为我不希望对太多事情下最后决定,我希望项目能自给自足,我希望它是自我推进的,如果我深陷决策者角色,要做出每一个决定,那也是不太现实的。
老实说,有些事情我了解得还不够,如Sybase,我还从来没有使用过Sybase,那我如何能够对Sybase扩展做出正确的决定呢?这时就需要团队中熟悉Sybase的成员来做决定了。
LXF:PHP 6的开发速度放慢了吗?已经开发了两年半的时间了…
RL:并没有决定放慢PHP 6的开发速度,因为人们对Unicode编程很感兴趣,但Unicode编程不是那么简单的,有许多复杂的东西需要考虑。从商业角度来看,每个人都希望使用上Unicode,但是从日常的角度来看,很多人并不需要Unicode,因为他们构建的系统只会在一个地区使用。从理论上将,每个人都希望最终使用UTF-8,但这是我们后面要考虑的事情,它没有PHP中其它功能那样紧迫。
当有人说“我现在需要这个”时,那么我们一般就会启动开发了,开发人员会负责在他们自己的工作中,公司中使用,这并不是PHP 6的全部,许多大公司希望推广Unicode,因为他们倾向于需要国际化。
LXF:在开发PHP早期哪个语言给了你灵感?
RL:C和Perl。当时我正在使用这两种语言,因为最初我本来没有想过要创建一种新的语言,我只需要一个方法来解决Web服务器中的已知问题,我不需要Perl中的那么多东西,也不想像C那样对所有内存进行管理,因此我需要的是一个精简版的C,也不能很Perl,我可以很容易嵌入到网页中。
后来,我们研究了C++和Java,并找出需要在我们的项目中实现的功能,但这是其他人做的,我们一直对面向对象编程不是很感冒,只有当我认为是适当的时候我才会使用它,但我从来不是面向对象编程的粉丝。
我认为我主要要说的是“你必须放弃控制权”。如果你想建立一个开源项目,你不能太自恋了,你不能重写每个人的补丁,必须给人们平等的控制权。
LXF:你曾经有过这样的经历吗?
RL:肯定有过,那是1997年,我几乎就想停掉这个项目,因为它成长得非常快,我的邮箱充满了建议,投诉,补丁等所有东西,直到那时,我一直尽我最大的努力来处理这些事情,有人可能会提出一个建议,向我发送一个补丁,我可能会重写这个补丁,当时我认为我应该这样做。
如果我不同意某人的想法,需要一个来回交流,于是我越来越跟不上节奏,那时我变得很沮丧,并生了一场病。于是我开始思考,为什么这些人希望我修正他们的代码呢?他们又没付我钱,我要怎么做才能从这地狱般的工作中解救出来呢?
因此我认为是时候改革了,于是我将权限放开,给那些一直抱怨的家伙有权限修改代码,当他们感受到了主人般的感觉后,对我的抱怨一下子少了很多,并且积极性也更好了,整个氛围发生了翻天覆地的变化,同时也带来了许多的乐趣,现在我们是一个真正共同努力的团队。
LXF:你会关注其它语言如Ruby吗?
RL:我认为Ruby最近有点萎缩,也许新版本马上会出来,速度也许真正会快一点(笑),到那时也许我会关注,但它一直存在性能问题,而且官方也承认了这一点,因为我认为新版本性能可能会好一点,我不是代码生成的狂热者。(51CTO记者近日对Programming Ruby的作者Dave Thomas进行了访谈,Dave也说到Ruby不是一个发展很快的语言。)
在一个示范视频中,scaffold看起来似乎还比较好,但在现实世界中使用scaffold对我而言,我没有什么兴趣,而且我认为许多人和我的想法是一样的,scaffold确实可爱,但我更需要实际一点的东西。Ruby也是一门伟大的编程语言,我认为它是一个非常干净,漂亮的语言。
有许多人转向Ruby on Rails是因为他们受到示范视频和“嘿!你可以在10秒内构建一个应用程序”的引诱,但当他们真正需要干点实际的事情时,他们会认为“哦,垃圾,我真的不了解Ruby!”
原文:How PHP became such a huge success
作者:Mike Saunders