PHP:我的迷茫和信心

技術小美發表於2017-11-18

2000 年初的時候,ASP 還是 Web 開發的主流,當時我剛剛在 Windows98 下通過電話線加內建貓上網。那時網上突然看到大家都在風傳一種新的 Web 開發語言 – PHP。那時的 PHP 還是 3.0 版本,可以和 mySQL 資料庫配合使用(那時的 muySQL 也是一隻醜陋的小鴨子)。安裝和配置倒也容易,根據網上搜尋到的“教程”可以很快完成,可以很方便的對錶進行增、刪、改的基本操作。但是對於當時生命力旺盛又不用配置執行環境的 ASP 來說,PHP 很容易被人看做一個 Web 開發的小玩具、小插曲。

    之後多年,PHP的發展一直處在不溫不火的狀態。說它好的人認為:它安全,效率高,小巧優雅,支援的函式多等等。說它不好的人認為:它支援廠家少、學習資料少、開發的網站少等等。但都是隨便說說,到底有多大可信度,無據可考。

    本人雖然接觸PHP比較早,但是截至兩年前,一直沒用PHP正式做過什麼應用,原因很多:

    1,ASP我用的早,熟悉並且有大量的程式碼和資料積累。如果再進入PHP陣營,勢必會有重複開發,造成浪費。

    2,本人供職的單位,所有的應用都是ASP開發的,沒有PHP的應用需求。如果貿然轉PHP開發,會引入2種語言整合的問題,使問題複雜化。

    3,本人供職的單位,所有的作業系統都是Windows系列的,不存在跨OS平臺的問題,沒有使用PHP(包括JSP)的必要。

    4,PHP的開發廠家是家小公司,擔心其倒閉造成PHP無後續支援,並且造成資料和開發人員短缺。

    5,PHP的流行程度和前途不明朗,擔心造成當時的學習投入浪費。如果ASP淘汰,學JSP比學PHP更有前途保障。

    6,PHP沒有著名大型專案開發案例,只適合開發中小型網站系統。而JSP可以開發網站,配合Oracle資料庫和JAVA中介軟體,可以構建大型企業應用,可以保護學習成本。

    7,PHP是一門主要程式導向的語言,4.0版本以前對類的支援不完善,開發大型、複雜應用不理想。

    8,當時提供PHP空間的虛擬主機商比較少。

    9,PHP的變數前邊需要加個$是我本人特別反感的(就像Delphi的程式塊非要用Begin…End包起來一樣,我喜歡Delphi,但反感這個拙劣的程式塊語法,我更喜歡 C 語言的{……},簡潔而又方便)。

    但是,後來性情有所變化,PHP的發展出現了拐點。

    1,一個是國內的Discuz!論壇迅速普及,要開論壇系統,需要選擇PHP環境。後來的DeDeCMS、X-spaces等,更把PHP應用推向深入。

    2,再一個是,PHP本身發展迅速,還推出了5.0版本,對類的支援趨於完善。還風傳PHP得到了微軟的支援,會在WindowsServer8.0的IIS7.0裡自動支援PHP執行環境。

    3,可能是由於PHP使用的人比較少,網路針對其攻擊比較少,顯得比較安全。

    4,PHP針對Web開發,包括mySQL資料庫操作,提供了大量現成的函式,使開發工作大大簡化。

    5,由於ASP天長日久,使用的人越來越多,就像當年淘汰VB一樣,需要一種新鮮的語言來代替它。在從ASP向ASP.NET的遷移過程中,許多人選擇了比C#簡單和易用的PHP語言。

    6,由於ASP語言被人玩“濫”了,出於勢利和商業原因考慮,需要一種更“專業”和“陽春白雪”的語言來代替它,PHP正好扮演了這個角色。試想一下,一家公司老總給客戶介紹說,自己的技術團隊多麼優秀,但是還在用老掉牙的ASP做開發,該是多麼的洩氣!(其實ASP本身無疑仍是優秀的,但是傲慢和偏見已經籠罩到ASP頭上了,誰之過?)

    我並不想讓大家包括我自己,經常處於無限的、無奈的知識淘汰和更新中,但是當大家一直要求學習PHP,當用人單位不再招收ASP程式設計師而是PHP程式設計師的時候,開設PHP課程就成為一種必然的趨勢了。我不得不放下我熟悉的Basic語法,轉而經常忍受那門變數前帶$的語言了。

    其實當我已經比較習慣在變數前加$的時候,我發現PHP語言其實還是很優秀的!儘管它吸收了包括C語言在內的許多語言的語法特點,還帶著過多的程式導向程式設計的特點,多少有點大雜燴甚至不倫不類的味道;儘管書店裡還沒有PHP語言的專櫃,我需要在各家出版社的分類裡仔細尋覓它的蹤跡,但是我發現它對Web程式設計提供了大量的、友好的、人性化的支援,它的開發團隊一定是個Web開發的天才團隊,他們知道Web程式設計師最需要什麼,在哪裡需要。

    不管是Windows使用者還是Unix/Linux使用者,由於PHP能和IIS、Apache整合在一起,所以PHP開發的應用,可以只開發一次就可以跨平臺執行,不用過多考慮空間提供商的執行環境。這點比起ASP來是個現實而又真實的優點。

    當然PHP現在還不能說已經或即將代替ASP的地位,因為Python和RoR(Ruby on Rails)這些完全物件導向的指令碼語言正在飛速增長,結果很難預料。但是PHP起碼在目前看來,其前景還是比較看好的。這世界沒用永遠開不敗的花朵,就像當年如日中天的Fortran、Cobel、Borlabd C++、PB、Delphi等語言一樣,有一天PHP也會老去,那又是將來的一段回憶和佳話。但是今天,我們與PHP同行。



本文轉自網眼51CTO部落格,原文連結:http://blog.51cto.com/itwatch/286499,如需轉載請自行聯絡原作者


相關文章