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
分享到:
相关推荐
揭示显卡的秘密:探讨GPU能耗比之谜.pdf
揭示华为长盛不衰的秘密:统治作为中国最有思想力、影响力、领导力的顶级CEO之一,任正非领导华为成功实施“走出去”战略,改变了世界电信业的格局,成为中国企业的榜样。任正非说:“华为没有院士,只有‘院土’...
### 结语:PHP的持续成长与挑战 尽管PHP面临着来自Python、Node.js等新兴语言的竞争压力,但凭借其深厚的用户基础和成熟的生态系统,PHP依然在Web开发领域占据着一席之地。对于PHP开发者而言,保持学习的热情,紧跟...
线性回归预测是一种简单而实用的预测工具,它可以帮助我们揭示数据背后的秘密并预测因变量的未来值。通过本文的介绍,相信读者已经对线性回归预测有了更深入的了解和认识。在实际应用中,我们可以根据具体问题的需求...
李志飞,出门问问的创始人,通过他的演讲探讨了NLP如何在互联网上实现实际应用,特别是以谷歌翻译(Google Translate)为例。 谷歌翻译是NLP在互联网上最成功的应用之一,支持71种语言,并且流量在全球排名前20,...
总的来说,这份责任督学访谈记录揭示了现代教育中班级课程建设的多元化和个性化趋势,强调了教师在课程设计中的创新性和适应性,以及教育与社会的紧密联系。这对于提升教育质量,推动教育公平,满足学生全面发展需求...
本书通过一系列访谈,揭示了19位计算机行业的领军人物,如查尔斯·西蒙尼、比尔·盖茨、安迪·赫兹菲尔德、雷·奥奇和杰夫·拉斯金等人的创新思维、技术洞察、编程习惯和对未来软件发展的展望。这些访谈内容涵盖了...
综上所述,这份访谈不仅揭示了STL设计背后的哲学思想,还展现了从早期研究到现代C++语言发展历程的重要里程碑。Alexander Stepanov对于通用编程的贡献深远地影响了整个计算机科学领域,特别是对于C++的发展起到了...
标题“互联网背后驱动:互联网之达芬奇密码”暗示了我们即将探讨的是互联网技术的核心原理以及其中蕴含的秘密,这些秘密可能像《达芬奇密码》这本小说中的谜团一样,需要深入研究才能揭示。"达芬奇密码"通常与隐藏的...
### 标题:“Yakov Sinai访谈录” #### 描述:“数学家sinai访谈录” 这段访谈记录由 Martin Raussen 和 Christian Skau 对 Yakov Sinai 进行,旨在深入了解这位数学家的职业生涯、学术成就以及他对数学领域的贡献...
《软件成功的秘密》这个标题暗示了内容将揭示在软件行业取得成功的秘诀。尽管描述提到这是一部旧影片,但它对创业者来说仍然具有价值,表明其中的知识点是经得起时间考验的。接下来,我们将根据这部分内容来展开讨论...
而“人类思想所揭示出的奥秘”则表明了本书将从心理学、哲学等多个角度出发,深入剖析人类思维方式背后隐藏的秘密。 ### 二、描述解析 #### “《如何创造思维_人类思想所揭示出的奥秘》PDF英文版本下载” 描述...
该报告的研究方法包括问卷调查和深度访谈,涉及300多位上市公司创始人。报告背后有一支由中国银行私人银行中心成员组成的编辑委员会,以及特别顾问团队,他们为报告提供了专业指导。 总的来说,这份白皮书为中国...
高管们的观点和实践案例可以揭示这一过程中的关键步骤和成功要素。 5. 企业文化与员工关怀:在访谈中,高管们可能会讨论企业文化的价值,以及如何在保障员工福利的同时推动企业的创新和成长。 6. 战略合作与并购:...
综上,本访谈揭示了软件工程领域,特别是互联网后端研发工程师的职责、所需技能、职业发展路径以及持续学习的重要性。同时,强调了在团队协作和项目管理中,技术能力与软技能的平衡是成功的关键。
本期访谈特别关注的是架构设计问题,通过与腾讯、阿里、百度等知名企业的技术主管进行交流,揭示了优秀产品背后的架构策略和技术思考。 #### 二、架构设计的核心理念 架构设计是构建高质量软件系统的关键。在...
【一分钟MBA--成功学的创始人详解】是一本聚焦于管理和个人成长的书籍,它涵盖了多个关键主题,旨在帮助读者快速提升在商业环境中的技能和理解。以下是对书中的主要知识点的详细阐述: 1. **企业家精神**:作为企业...
综上所述,该白皮书揭示了中国上市公司创始人在财富积累、企业管理和社会责任之间的复杂关系,为创始人提供了全面的财富管理策略和方向,旨在助力他们在快速变化的经济环境中实现个人、家庭和企业的共同发展。...
3. **Web开发**:使用Linux作为服务器操作系统进行Web开发,包括后端服务的搭建和维护,如使用LAMP(Linux, Apache, MySQL, PHP)或LEMP(Linux, Nginx, MySQL, PHP/Python/Perl)等技术栈。 4. **数据库开发**:在...