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