揭示PHP成功背后的秘密:PHP創(chuàng)始人訪談錄
原創(chuàng)【51CTO精選譯文】Rasmus Lerdorf可能是格陵蘭最著名的電腦牛人,他1995年創(chuàng)建了PHP腳本語言,并成功應(yīng)用到他的網(wǎng)站中,在他的一手栽培下,PHP已變成一個強(qiáng)大的,完全成熟的語言,目前世界各地已有數(shù)百萬PHP應(yīng)用案例。
PHP創(chuàng)始人Rasmus Lerdorf
Linux Format雜志對Rasmus Lerdorf做了一次專訪,為我們揭開Rasmus Lerdorf現(xiàn)在在PHP社區(qū)的地位,以及早期他是如何決策的,才讓PHP實(shí)現(xiàn)了今天的巨大成功。
Linux Format(后面簡稱為LXF):你目前參與了多少PHP的開發(fā)?
Rasmus Lerdorf(后面簡稱為RL):現(xiàn)在比10或15年前少多了,但我現(xiàn)在每天仍堅持閱讀郵件列表,討論功能和偶爾修復(fù)一下BUG。我個人對安全和性能相關(guān)的問題更感興趣。
LXF:PHP團(tuán)隊(duì)的組織結(jié)構(gòu)是什么樣的?現(xiàn)在看起來似乎不太清晰…
RL:沒有任何結(jié)構(gòu)!
LXF:那么誰做最后的決定呢?
RL:我們一起呀!我們內(nèi)部有一個完全開放的郵件列表,任何人都可以訂閱它,閱讀它,在上面發(fā)表意見等,我一直堅持保持它的透明度,任何人都可以翻閱郵件列表,如果出現(xiàn)分歧,那么誰先實(shí)現(xiàn)通常誰就贏了。
LXF:作為最終仲裁者,你是否有壓力?
RL:當(dāng)然有壓力。我總是試圖淡化這一角色,因?yàn)槲也幌M麑μ嗍虑橄伦詈鬀Q定,我希望項(xiàng)目能自給自足,我希望它是自我推進(jìn)的,如果我深陷決策者角色,要做出每一個決定,那也是不太現(xiàn)實(shí)的。
老實(shí)說,有些事情我了解得還不夠,如Sybase,我還從來沒有使用過Sybase,那我如何能夠?qū)ybase擴(kuò)展做出正確的決定呢?這時就需要團(tuán)隊(duì)中熟悉Sybase的成員來做決定了。
LXF:PHP 6的開發(fā)速度放慢了嗎?已經(jīng)開發(fā)了兩年半的時間了…
RL:并沒有決定放慢PHP 6的開發(fā)速度,因?yàn)槿藗儗nicode編程很感興趣,但Unicode編程不是那么簡單的,有許多復(fù)雜的東西需要考慮。從商業(yè)角度來看,每個人都希望使用上Unicode,但是從日常的角度來看,很多人并不需要Unicode,因?yàn)樗麄儤?gòu)建的系統(tǒng)只會在一個地區(qū)使用。從理論上將,每個人都希望最終使用UTF-8,但這是我們后面要考慮的事情,它沒有PHP中其它功能那樣緊迫。
當(dāng)有人說“我現(xiàn)在需要這個”時,那么我們一般就會啟動開發(fā)了,開發(fā)人員會負(fù)責(zé)在他們自己的工作中,公司中使用,這并不是PHP 6的全部,許多大公司希望推廣Unicode,因?yàn)樗麄儍A向于需要國際化。
LXF:在開發(fā)PHP早期哪個語言給了你靈感?
RL:C和Perl。當(dāng)時我正在使用這兩種語言,因?yàn)樽畛跷冶緛頉]有想過要創(chuàng)建一種新的語言,我只需要一個方法來解決Web服務(wù)器中的已知問題,我不需要Perl中的那么多東西,也不想像C那樣對所有內(nèi)存進(jìn)行管理,因此我需要的是一個精簡版的C,也不能很Perl,我可以很容易嵌入到網(wǎng)頁中。
后來,我們研究了C++和Java,并找出需要在我們的項(xiàng)目中實(shí)現(xiàn)的功能,但這是其他人做的,我們一直對面向?qū)ο缶幊滩皇呛芨忻埃挥挟?dāng)我認(rèn)為是適當(dāng)?shù)臅r候我才會使用它,但我從來不是面向?qū)ο缶幊痰姆劢z。
我認(rèn)為我主要要說的是“你必須放棄控制權(quán)”。如果你想建立一個開源項(xiàng)目,你不能太自戀了,你不能重寫每個人的補(bǔ)丁,必須給人們平等的控制權(quán)。
LXF:你曾經(jīng)有過這樣的經(jīng)歷嗎?
RL:肯定有過,那是1997年,我?guī)缀蹙拖胪5暨@個項(xiàng)目,因?yàn)樗砷L得非常快,我的郵箱充滿了建議,投訴,補(bǔ)丁等所有東西,直到那時,我一直盡我最大的努力來處理這些事情,有人可能會提出一個建議,向我發(fā)送一個補(bǔ)丁,我可能會重寫這個補(bǔ)丁,當(dāng)時我認(rèn)為我應(yīng)該這樣做。
如果我不同意某人的想法,需要一個來回交流,于是我越來越跟不上節(jié)奏,那時我變得很沮喪,并生了一場病。于是我開始思考,為什么這些人希望我修正他們的代碼呢?他們又沒付我錢,我要怎么做才能從這地獄般的工作中解救出來呢?
因此我認(rèn)為是時候改革了,于是我將權(quán)限放開,給那些一直抱怨的家伙有權(quán)限修改代碼,當(dāng)他們感受到了主人般的感覺后,對我的抱怨一下子少了很多,并且積極性也更好了,整個氛圍發(fā)生了翻天覆地的變化,同時也帶來了許多的樂趣,現(xiàn)在我們是一個真正共同努力的團(tuán)隊(duì)。
LXF:你會關(guān)注其它語言如Ruby嗎?
RL:我認(rèn)為Ruby最近有點(diǎn)萎縮,也許新版本馬上會出來,速度也許真正會快一點(diǎn)(笑),到那時也許我會關(guān)注,但它一直存在性能問題,而且官方也承認(rèn)了這一點(diǎn),因?yàn)槲艺J(rèn)為新版本性能可能會好一點(diǎn),我不是代碼生成的狂熱者。(51CTO記者近日對Programming Ruby的作者Dave Thomas進(jìn)行了訪談,Dave也說到Ruby不是一個發(fā)展很快的語言。)
在一個示范視頻中,scaffold看起來似乎還比較好,但在現(xiàn)實(shí)世界中使用scaffold對我而言,我沒有什么興趣,而且我認(rèn)為許多人和我的想法是一樣的,scaffold確實(shí)可愛,但我更需要實(shí)際一點(diǎn)的東西。Ruby也是一門偉大的編程語言,我認(rèn)為它是一個非常干凈,漂亮的語言。
有許多人轉(zhuǎn)向Ruby on Rails是因?yàn)樗麄兪艿绞痉兑曨l和“嘿!你可以在10秒內(nèi)構(gòu)建一個應(yīng)用程序”的引誘,但當(dāng)他們真正需要干點(diǎn)實(shí)際的事情時,他們會認(rèn)為“哦,垃圾,我真的不了解Ruby!”
原文:How PHP became such a huge success
作者:Mike Saunders
【編輯推薦】