PHP4:奇跡背後
1995年時,Rasmus在用PHP寫他的個人主頁;今天,PHP成為風靡全球的腳本語言,越來越多的站點選擇使用PHP,連Yahoo都放棄了自己的腳本而改用PHP支持它的網站。可以說,PHP是一個奇跡。我一直認為,任何奇跡背後都有它的原因。現在,就讓我們透過這個奇跡,來看看PHP的成功之道。
1 簡單易用
PHP的入門門檻很低,它對使用者的要求微乎其微。學過C語言的人,使用PHP幾乎不需要什麼時間。它們的語法是如此相似,以至於我常常想,是不是在C語言變量前加個$就能改成PHP。這使得大量C程序員在網絡腳本中選擇了PHP。另外,比起ASP的組件系統和Java龐大的類庫來,PHP的函數庫要好學多了。在編程風格上,PHP更是自由,你可以使用N種風格來寫你的腳本程序。這些特性使得PHP成為初學者的首選語言。搶占初學者市場是很重要的策略。如同任何人都會對自己的初戀記憶猶新一樣,人們往往會對最初學習的語言有很深的感情。即使後來自己成長了,改用其他語言了,還是會時時記起最初學習的語言。在這點上,PHP做得很出色。
2 剪裁得當
PHP開發組是最了解網絡的一群人,他們非常清楚用戶要的是什麼。PHP就是要做一個出色的網絡腳本語言,而且,它只是要做一個網絡腳本語言。PHP提供的函數集在網絡方面相當強大,而且重點均專注於網絡應用。像PHP中的無組件文件上傳,超多數據庫支持等特性都表現出這個特點。順便說一句,PHP甚至支持ACCESS數據庫。專注使得PHP在網絡上表現出極其優秀的性能。有失才能有得。
3 支持強大
PHP有強大的OpenSource團體支持,在網絡上有數以萬計的開源代碼。你可以整合幾個現有程式來實現你的應用,也可以分析大師級的代碼來得到提高。PHP還有很多擴展性的項目來增強PHP在某個方面的功能。像注重編程規范化和代碼重用的PEAR,提供可編譯模板技術的Smarty,甚至開發桌面程序的GTK。
分析完這幾個理由,我們可以看出,PHP的成功得益於PHP開發組的戰略眼光。PHP提供了一個最小工作集,使用戶能用最簡單的方式高效地完成自己需要的應用。這正是初學者需要的。然後它通過方便的擴展來提供各個方面的解決方案,這樣,你只需要學你要用到的那個領域的東西。當你涉及的領域越來越多時,你的水平也隨之提高,當你熟悉了大多領域時,回頭看看,會發現不知不覺已到山腰。PHP也提供了我們一種學習態度。
ASP.net+J2EE:風雨欲來
網絡腳本界的革新浪潮由Microsoft的ASP.net首先發起。在ASP.net中,有一個很吸引人的東西——事件驅動機制。這在桌面編程中是很普通的概念,而在腳本編程中事件驅動意味著對服務器端的腳本(如PHP、JSP、ASP)和客戶端的腳本(如JavaScript和VbScript)進行封裝,使之協同工作。這樣一來,編程就會變得異常方便。在.net環境中的事件驅動還有一個優勢,就是你甚至可以不會任何服務器端腳本和客戶端腳本,因為在ASP.net中,是可以直接使用C#這樣的語言的——連$都不用加。這為MS陣營的傳統程序員轉向網絡開發鋪平了道路,同時,也使PHP在初學者市場上受到很大的打擊。可以預見,以後的傳統程序員轉向PHP的將大為減少。不過ASP.net最大的問題在於它只能在Windows上運行,而現在大陸正在大力發展Linux。這使得PHP的生存空間似乎寬了點,但是——讓我們來看看Java吧。