鐘勝輝談PHP發(fā)展的現(xiàn)狀和前景
原創(chuàng)【51CTO獨家專訪】鐘勝輝,也就是國內(nèi)PHP領(lǐng)域廣為人知的淡淡風(fēng)。鐘勝輝是PHPcms的創(chuàng)始人,之后他第二次創(chuàng)業(yè),帶來了令人期待已久的CMSTOP。近日,51CTO記者阿菜通過電子郵件聯(lián)系到了鐘勝輝先生,請他談一談PHP發(fā)展的現(xiàn)狀和前景。以下是交流信件原文:
PHPcms和CMSTOP創(chuàng)始人:鐘勝輝(淡淡風(fēng))
51CTO記者:從Web開發(fā)的歷史看來,PHP、Python和Ruby幾乎是同時出現(xiàn)的,都是十分有特點的、優(yōu)秀的開源語言,但PHP卻獲得了比Python和Ruby多得多的關(guān)注度(PHP在本月的TIOBE排行榜上已經(jīng)排行第三,超過C++了)。您認(rèn)為這和PHP旨在網(wǎng)站開發(fā)的立足點與PHP語言本身的特點有很大關(guān)系么,還是有什么其他的因素影響?
鐘勝輝:三門語言當(dāng)中,無疑php是最流行的,而Python和Ruby在最近幾年也有著不錯的發(fā)展趨勢。我個人認(rèn)為,Ruby的流行更多地源于Ruby on Rails,這個框架的流行程度甚至超過了Ruby語言本身,也引發(fā)了其它語言平臺上對框架的研究。而Python在近來的被關(guān)注度和發(fā)展速度要超過Ruby,被一些喜歡創(chuàng)新的項目采用,這可能要更多地歸功于google。
這三種語言都是相當(dāng)優(yōu)秀的腳本語言,為什么PHP能大行其道,殺入排行榜的三甲呢?從表面上來看,這是就業(yè)環(huán)境使然。越來越多的新公司或者新項目使用PHP,這使得PHP相關(guān)社區(qū)越來越活躍,而這又反過來影響到很多項目或公司的選擇,形成一個良性的循環(huán)。就我目前了解到的情況,PHP是國內(nèi)大部分web項目的首選,而且有很多公司從其它語言(如ASP,JAVA)轉(zhuǎn)到了PHP。合適的就是最好的,PHP的快速,開發(fā)成本低,周期短,后期維護(hù)費用低,開源產(chǎn)品豐富(這點可以影響到很多項目的決策),這些都是另外兩種語言無法比擬的。另外,在很多大項目中,Python更多地是做為一種“粘合劑語言”出現(xiàn),似乎正在走向與PHP不同的發(fā)展方向,讓我們拭目以待。
51CTO記者:PHP開發(fā)框架的盛行是由RoR的火爆所引起的,而PHP框架的發(fā)展也從模仿Rails到逐漸有了自己的風(fēng)格。不過仍然有很多入行較早的PHP開發(fā)者至今仍認(rèn)為PHP這種快捷的語言不需要框架,甚至認(rèn)為只要有優(yōu)秀的架構(gòu),框架根本沒必要。您認(rèn)為PHP框架對PHP而言是必要的么?您對于PHP開發(fā)工具的現(xiàn)狀滿意么?
鐘勝輝:這是一個見仁見智的問題,我個人認(rèn)為,一個優(yōu)秀的框架能在很大程度上提高工作效率,尤其是對大中型項目。當(dāng)然如果對項目有足夠的把控能力,框架也并非是必須的,畢竟PHP的框架跟ROR的情況有所不同,多而混亂,而學(xué)習(xí)一個框架是需要時間的。像你的問題中提到的,很多老的PHP程序員對框架不屑一顧,認(rèn)為自己對項目有足夠的把控能力,不需要框架這么累贅的東西,然而從長遠(yuǎn)來看,一個優(yōu)秀的框架可以延長一個項目的壽命,降低維護(hù)和二次開發(fā)的成本。我們目前正在開發(fā)中的CMSTOP,是一個產(chǎn)品型項目,在這樣的項目中,沒有一個優(yōu)秀的框架是很難想象的。在研究對比了目前主流的PHP框架之后,我們發(fā)現(xiàn)沒有哪個框架能完全適合一個CMS的項目,于是我們決定自己開發(fā)一個框架。目前這個框架極大地提高了我們的工作效率,而且,我們會在適當(dāng)?shù)臅r候?qū)⑦@個框架開源。
51CTO記者:PHP的面向?qū)ο笤O(shè)計的并不是很好。很多在Java一類語言里面可以很好應(yīng)用的面向?qū)ο髮懛ㄔ赑HP里面實現(xiàn)起來卻很繁瑣。您認(rèn)為面向?qū)ο髮τ赑HP這樣的Web開發(fā)語言來說重要么?PHP的面向?qū)ο笫欠襁€能夠改進(jìn)呢?
鐘勝輝:PHP的面向?qū)ο髮儆跉v史遺留問題,而且,說其不好,慢慢也會成為歷史問題。從PHP5相對PHP4的進(jìn)步,我們有理由去期待PHP6給我們帶來更多的驚喜。不論對什么樣的語言,面向?qū)ο蟾嗟氖且环N思考問題的方法,沒有必要為了面向?qū)ο蠖ッ嫦驅(qū)ο?。PHP最初的面向?qū)ο?,可以簡單地看作是函?shù)的升級,曾經(jīng)被很多其它語言的開發(fā)者取笑,但PHP5的面向?qū)ο笠呀?jīng)足以滿足大部分WEB項目了。一門語言要想生存下去,就得去適應(yīng)技術(shù)發(fā)展的潮流,并不斷做出調(diào)整,在這方面,PHP的團(tuán)隊充滿了活力。
51CTO記者:PHP網(wǎng)站的安全是個很常見的問題,有關(guān)PHP網(wǎng)站漏洞的消息是很多的。您認(rèn)為這其中的原因和PHP語言本身的特點有關(guān)么(相對于如PHP網(wǎng)站數(shù)量、PHP代碼編寫習(xí)慣等其他因素)?PHP的安全有改善的空間么?
鐘勝輝:網(wǎng)站的安全是一個比較系統(tǒng)的問題,它跟服務(wù)器安全以及代碼的質(zhì)量是直接相關(guān)的,我們并不能說PHP這門語言不安全。目前PHP有很多優(yōu)秀的開源產(chǎn)品,例如discuz,phpcms等,即使在開源的情況下,這些產(chǎn)品也保證了足夠的安全性。PHP的門檻很低,一兩周的時間就可以入門,而這些“快速入門”的程序員,往往容易忽略代碼安全問題。安全問題的改善,取決于越來越多的PHP程序員對這個問題的重視程度。
51CTO記者:現(xiàn)在在不少大型項目中,PHP完全充當(dāng)了腳本的功能,而邏輯性比較強的業(yè)務(wù)處理則由另一門功能豐富的語言(例如Java)來實現(xiàn)。您認(rèn)為這樣在復(fù)雜度、開發(fā)快捷度、開發(fā)周期以及成本等方面有著怎樣的影響?
鐘勝輝:這種情況確實存在,但我認(rèn)為之所以出現(xiàn)這種情況,并不是因為PHP“做不了”,而是很多項目負(fù)責(zé)人對PHP的偏見以及對JAVA等語言的迷信造成了這種現(xiàn)狀。當(dāng)然,我們不能否認(rèn),有很多問題確實是PHP做不了的,做為一種解釋型的腳本語言,PHP本身就不適合做大型的數(shù)據(jù)運算,它也不可能成為一門“萬能語言”。在大型項目中,多種語言配合工作是一件很正常的事情,例如說,PHP負(fù)責(zé)收集數(shù)據(jù),提供界面,C負(fù)責(zé)處理分析數(shù)據(jù),Python來做粘劑。各種語言各司其職,協(xié)同合作,只是分工的不同而沒有高低貴之分,就像如果用C來做數(shù)據(jù)展示一樣會很痛苦。我不認(rèn)為PHP往復(fù)雜計算方面發(fā)展是一件好事,而且我相信PHP的開發(fā)團(tuán)隊也會把握好這個度。沒有哪種語言可以做到“萬能”,java有這樣的野心,但我們可以看到j(luò)ava現(xiàn)在的境遇似乎并不如PHP那么紅火,如果PHP也追求“萬能”,那將是一場災(zāi)難。
【編輯推薦】