監(jiān)理公司管理系統(tǒng) | 工程企業(yè)管理系統(tǒng) | OA系統(tǒng) | ERP系統(tǒng) | 造價(jià)咨詢管理系統(tǒng) | 工程設(shè)計(jì)管理系統(tǒng) | 簽約案例 | 購買價(jià)格 | 在線試用 | 手機(jī)APP | 產(chǎn)品資料
X 關(guān)閉

探討Web 2.0時(shí)代PHP的地位

申請(qǐng)免費(fèi)試用、咨詢電話:400-8352-114

文章來源:泛普軟件

隨著所謂WEB2.0時(shí)代來臨,程序員從來沒有時(shí)代象今天那樣受人注意,很多程序員對(duì)于語言的爭論也從來沒有象今天這樣劇烈,JAVA、C++、PHP、ASP等等,最近又出來一個(gè)Ruby,加上Python。無數(shù)的FANS在中間進(jìn)行爭論不休,也就是在網(wǎng)路上,如果是在現(xiàn)實(shí)生活中,大概會(huì)象《倚天屠龍記》里描述的那樣,會(huì)決戰(zhàn)光明頂來定一個(gè)勝負(fù),或者說定出天下第一大門派。而現(xiàn)在定出誰是天下第一大其實(shí)很方便,看一下哪個(gè)語言旗下的弟子人數(shù)即可。而現(xiàn)在最流行的統(tǒng)計(jì)方式,就是Google了,看看Google的搜索結(jié)果,基本就能判斷出其在市面上的網(wǎng)站的使用情況:

約有5,760,000,000項(xiàng)符合 php 的查詢結(jié)果

約有3,070,000,000項(xiàng)符合asp的查詢結(jié)果

約有976,000,000項(xiàng)符合java的查詢結(jié)果

約有327,000,000項(xiàng)符合perl的查詢結(jié)果

約有238,000,000項(xiàng)符合python的查詢結(jié)果

約有225,000,000項(xiàng)符合c++的查詢結(jié)果

約有176,000,000項(xiàng)符合ruby的查詢結(jié)果

這段時(shí)間葛優(yōu)的光腦袋頻繁曝光,總是喋喋不休的告訴俺們一個(gè)道理——用的人多的卡就是好卡。而如果套用這個(gè)光頭明星的話,那就是,我,相信群眾,從上面查詢的結(jié)果大家可以看到,人民群眾是很愛戴PHP的。

但如果你去問互聯(lián)網(wǎng)的一些資深開發(fā)人員,PHP、ASP與Java,他們之間誰更好?一般來說,這個(gè)人都會(huì)告訴你,ASP就不用想啦,微軟出的垃圾,PHP和Java是不錯(cuò)的選擇,Java適合做大項(xiàng)目,PHP適合做一些短平快的東西。如果你還繼續(xù)問,這個(gè)高手還沒有失去耐心的情況下,他大體都會(huì)說,你看世界上最大的互動(dòng)平臺(tái)eBAY,就是用JAVA寫的,中國最大的社區(qū)CHINAREN校友錄也是JAVA,而很多小的網(wǎng)站,初期都是PHP,后來各種原因都必須改到JAVA上面去。這種感覺就是像說,如果你想學(xué)武功以便出去砍人,或者說在江湖揚(yáng)名立萬,那么行軍拳你就不用練啦,這個(gè)東西是政府拿出來強(qiáng)身鍵體的,五虎斷門刀這個(gè)東西你用來對(duì)付一般的流氓是綽綽有余,但是碰到絕頂高手你就歇了。而Java有點(diǎn)象太極拳,當(dāng)今武林最大的門派之一SUN的首推武功,是對(duì)負(fù)高手的不二選擇,于是很多人就認(rèn)定:PHP是低等武功,練到最好的結(jié)果也就是給賭場看看場子,只有練就Java才能做武林盟主。

俺和很多公司的技術(shù)經(jīng)理聊的時(shí)候,經(jīng)理們說很多人都有這種心理,他是使用Java的,而你如果讓他寫PHP,,很多人會(huì)有一種受到侮辱的感覺,不是覺得經(jīng)理不重視他,就是在想自己什么時(shí)候得罪了經(jīng)理,竟然被發(fā)配到PHP這種偏遠(yuǎn)的小地方去了。越是大公司,PHP的項(xiàng)目越難開展起來,這個(gè)讓很多技術(shù)老大們很是郁悶,但也很是奇怪。所以,下面,咱們一起分析一下形成這種被人民群眾認(rèn)可,卻不被很多開發(fā)人員看好的語言——PHP。

PHP 進(jìn)入中國是98,99年,進(jìn)入的時(shí)候,初期應(yīng)用的典型是Chinaren校友錄,還有很多的互動(dòng)應(yīng)用,它以開發(fā)方便,容錯(cuò)性好,迅速成為很多網(wǎng)站的選擇。到了00,01年,互聯(lián)網(wǎng)泡沫的時(shí)候,很多都是PHP完成對(duì)網(wǎng)站的開發(fā),它的流行有以下幾個(gè)原因:

兼容C的語法,容易掌握

就這一點(diǎn)來說,它保證了開發(fā)人員的穩(wěn)定來源,基本上說,每個(gè)學(xué)計(jì)算機(jī)的人員,沒有不學(xué)習(xí)C 語言的,所以都能在一到兩周左右快掌握這個(gè)新的語言,然后經(jīng)過簡單的指導(dǎo),就能開始初期的開發(fā)工作。單從程序本身的開發(fā)而言,寫了三年以上的程序員,和開發(fā)了半年以上的PHP程序員差別不是太大。

運(yùn)行的快速

在網(wǎng)路上面,速度是很重要的問題,這一點(diǎn)來說及時(shí)是對(duì)PHP非常不屑的人也不得不承認(rèn)PHP得運(yùn)行速度還是比較令人滿意的,只不過由于沒有很實(shí)際的數(shù)據(jù),只是很多人感覺,所以這一點(diǎn)來說,沒有非常有力的證據(jù)證明。

非常強(qiáng)的容錯(cuò),很好的魯棒性能

很多寫PHP的人員應(yīng)該有這個(gè)感覺,舉個(gè)例子,你申請(qǐng)一個(gè)PHP中的變量,做數(shù)字也行,做數(shù)組也行,做字符串也可以。我有時(shí)候都在想,這么隨意的風(fēng)格,他是如何保證效率的,只能說寫這個(gè)語言編譯器的人實(shí)在太不可思議了。

豐富的函數(shù)和簡單的操作

能想到的一些操作,如果不是太罕見,你基本都能找到函數(shù)庫來解決,典型的就是讀文件的內(nèi)容讀到一個(gè)變量,到現(xiàn)在為止,我知道的好像只有PHP提供一個(gè)專門的函數(shù)來解決這個(gè)問題

以上四個(gè)特點(diǎn),用PHP開發(fā)程序非常得普遍,但作為程序來說,這些看起來非常不錯(cuò)的特征也形成PHP的一些問題,造成在很多資深的程序員對(duì)其評(píng)價(jià)很低。

首先第一條,也是讓很多資深的程序員對(duì)其尷尬不已的,做了3年以上的PHP程序員,當(dāng)一個(gè)初學(xué)者問其一些技巧的時(shí)候,他們突然發(fā)現(xiàn),PHP這種語言實(shí)在是沒有好說的,看它的幫助就能解決問題或者看一下教程。不像Java,一個(gè)僅僅寫了半年左右的Java開發(fā)人員和3 年以上的Java開發(fā)人員可以說有本質(zhì)的區(qū)別,后者可以講很多JAVA的開發(fā)架構(gòu)和分布問題,講的那個(gè)菜鳥滿腦漿糊,滿臉崇拜。而俺在PHPCHINA.CN講課的時(shí)候,發(fā)現(xiàn)每個(gè)人在聽PHP語言一些很細(xì)節(jié)的東西時(shí)都是昏昏欲睡,大部分都在開小差。我想這和PHP語言通俗易懂,沒有什么挑戰(zhàn)性的概念有很大的關(guān)系。

第二條還是效率的問題。市面上對(duì)于WEB語言的效率,PHP快只是感覺,并沒有一個(gè)非常有力的測試證明它比別的語言快很多,而JAVA和ASP卻有一個(gè)非常有名的一個(gè)測試性能比較。

有人做過試驗(yàn),對(duì)這三種語言分別做循環(huán)性能測試及存取Oracle數(shù)據(jù)庫測試。在循環(huán)性能測試,JSP用了20000*20000的循環(huán) 共四秒鐘。而ASP、PHP測試的是2000*2000循環(huán)(少一個(gè)數(shù)量級(jí)),分別用了63秒。PHP測試的是2000*2000循環(huán) 84秒.數(shù)據(jù)庫測試中三者分別對(duì)Oracle8進(jìn)行1000次Insert,Update,Select和Delete:

JSP需要13秒

PHP需要69秒

ASP則需要73秒

一個(gè)有意思的測試,說明一個(gè)問題,對(duì)于大量的運(yùn)算,PHP看起來不是一個(gè)太成功的語言,這個(gè)也是很多高手不是很看好PHP的一個(gè)實(shí)際例證明,然而實(shí)際是這個(gè)僅僅是一個(gè)有點(diǎn)BT的測試,誰會(huì)在互聯(lián)網(wǎng)上寫一個(gè)循環(huán)400萬次循環(huán)以上的一次請(qǐng)求應(yīng)用,我倒很想見識(shí)一下。實(shí)際上,在WEB應(yīng)用中這種循環(huán)或者說密集的運(yùn)算非常罕見,如果有,首先該考慮的也是算法的優(yōu)化,減少循環(huán)的次數(shù),然后才是考慮語言本身。并且就算是必要的,也不是Java、PHP和ASP能夠解決的,這個(gè)時(shí)候,如果用的比較多,C會(huì)粉墨登場,再多一點(diǎn),可以使用匯編,非常多的情況下,芯片的設(shè)計(jì)我想是比較好的選擇,怎么樣都不會(huì)輪到Java這種語言,所以用這種方法來評(píng)價(jià)PHP是非常不妥的。

而對(duì)于PHP開發(fā)中較好的魯棒性,你怎么寫它都能運(yùn)行,并且很穩(wěn)定,從而也造成PHP程序員的散漫,程序的開發(fā)非常隨意,又加上中國互聯(lián)網(wǎng)產(chǎn)品開發(fā)的緊急性,幾乎都沒有很好的文檔,從而后期PHP程序的維護(hù)成為無數(shù)項(xiàng)目經(jīng)理的噩夢。這一點(diǎn)也是很多高手或者說資深程序員對(duì)于PHP評(píng)價(jià)很低的地方,而當(dāng)很多項(xiàng)目經(jīng)理需要要規(guī)范開發(fā)的時(shí)候,卻又發(fā)現(xiàn)無從規(guī)范起,Java有Struts、MVC……而PHP卻缺乏成體系的開發(fā)架構(gòu),從而也成為PHP很難成為企業(yè)應(yīng)用系統(tǒng)的選擇。

至于豐富的函數(shù)操作,這個(gè)大概是唯一沒有被人詬病的地方,但是 Java、ASP以及Perl都有很豐富的函數(shù),PHP在這一點(diǎn)沒有非常大的優(yōu)勢,所以只是成為人們選擇它的一個(gè)不是很重要的理由。(IT專家網(wǎng)論壇)

發(fā)布:2007-04-21 14:06    編輯:泛普軟件 · xiaona    [打印此頁]    [關(guān)閉]
相關(guān)文章:
長春OA系統(tǒng)
聯(lián)系方式

成都公司:成都市成華區(qū)建設(shè)南路160號(hào)1層9號(hào)

重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務(wù)大廈18樓

咨詢:400-8352-114

加微信,免費(fèi)獲取試用系統(tǒng)

QQ在線咨詢

泛普長春OA行業(yè)資訊其他應(yīng)用

長春OA軟件 長春OA新聞動(dòng)態(tài) 長春OA信息化 長春OA快博 長春OA行業(yè)資訊 長春軟件開發(fā)公司 長春門禁系統(tǒng) 長春物業(yè)管理軟件 長春倉庫管理軟件 長春餐飲管理軟件 長春網(wǎng)站建設(shè)公司