亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 2101 | 回復(fù): 3
打印 上一主題 下一主題

編程大師論道 PHP的魅力和不足何在? [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2008-06-25 09:44 |只看該作者 |倒序?yàn)g覽
編者按:在編程領(lǐng)域有不少堪稱經(jīng)典著作,其中包括《Thinking In C++》和《Thinking In Java》,它們的作者是著名的計(jì)算機(jī)科學(xué)作家Bruce Eckel。近日這個(gè)編程大師聯(lián)系編程語言Java、Perl和Python,分析了老牌經(jīng)典編程語言PHP的優(yōu)缺點(diǎn),下面讓我們一睹為快。

計(jì)算機(jī)科學(xué)作家Bruce Eckel




PHP的魅力所在

提起老牌經(jīng)典腳本語言PHP,我們不禁會聯(lián)想到它的一個(gè)令人印象深刻的特點(diǎn),即上手快,你無需對這個(gè)語言進(jìn)行深入廣泛的了解就可以使用它開始編程。在我們知道的語言中,沒有幾個(gè)語言能把這種特點(diǎn)體現(xiàn)的淋漓盡致。與之相對應(yīng)的另一個(gè)極端是Java語言,即使你寫一個(gè)簡單的hello world程序也需要掌握不少Java知識,運(yùn)行一個(gè)Web應(yīng)用同樣不那么簡單。而這一切在PHP中是一件舉手之勞的簡單事情。

在編程能力方面,PHP只是比Perl表現(xiàn)好一點(diǎn)。Perl是一種古老的腳本語言。最初的Web應(yīng)用大多是用Perl編寫的,Perl很像C語言,使用非常靈活,對于文件操作和處理具有和C語言一樣的方便快捷。

但是,由于Perl的靈活性和“過度”的冗余語法,也因此導(dǎo)致許多Perl程序的代碼令人難以閱讀和維護(hù),記得在Web剛剛興起的時(shí)候,當(dāng)聽到有人說將使用Perl編寫大型應(yīng)用的時(shí)候,我就知道他們面臨的將是失敗。

Perl的哲學(xué)思想是同一件事,總有不止一種方法來解決,結(jié)果造成了大量難讀難懂的程序。對于規(guī)模較大的系統(tǒng)來說,Perl編寫的維護(hù)成本相對更高,另外Perl對于CPU的消耗似乎較高,效率似乎有一些不足。

相比來說,PHP卻已經(jīng)創(chuàng)建了一些更大型的應(yīng)用,例如大名鼎鼎的開源CMS系統(tǒng)Drupal。我的一個(gè)朋友Nancy Nicolaisen表示她希望搭建一個(gè)旅游網(wǎng)站,我建議她看一下Drupal。她聽取了我的建議并最終選擇了它,只進(jìn)行了輕微的改動就使她的網(wǎng)站上線了,用她的話來說,這個(gè)用戶社區(qū)吸引她的地方是它的強(qiáng)大和易用。

而且PHP允許初學(xué)者可以直接針對他們感興趣的功能進(jìn)行編程,而無需花費(fèi)大量的時(shí)間來學(xué)習(xí)編程理論和實(shí)踐。你只需要編寫代碼并通過網(wǎng)頁來查看效果就可以了。




PHP的不足之處

但是這同時(shí)也是這個(gè)語言的問題所在。你經(jīng)常會發(fā)現(xiàn)很多使用PHP編寫出的代碼錯(cuò)誤百出,但這些代碼往往卻被人們互相拷貝,卻沒有人去認(rèn)真分析研究它們。這些代碼通常是由那些習(xí)慣互相借鑒拷貝代碼的程序員所編寫,這些代碼質(zhì)量低劣的原因是這些程序員通常不習(xí)慣問為什么,不喜歡弄清楚原理,只管拿來就用。

在我第一次想深入了解這個(gè)語言的時(shí)候,我希望看到一些關(guān)于文件鎖定的示例,結(jié)果盡管看到了非常多,但卻沒有一個(gè)是正確的。正如事實(shí)已經(jīng)證明的那樣,PHP主要是與數(shù)據(jù)庫搭配使用,數(shù)據(jù)庫來處理所有一致性問題,因此多數(shù)人只關(guān)心從數(shù)據(jù)庫中存取數(shù)據(jù),而不用再去必須考慮底層的問題。但是這個(gè)語言不僅僅可以處理與數(shù)據(jù)庫交互的上層問題,同樣也可以實(shí)現(xiàn)與文件系統(tǒng)之間交互的底層問題。我的感覺是,在PHP社區(qū)中多數(shù)人只關(guān)心如何得到一個(gè)好的結(jié)果,而沒有多少人關(guān)心它的真正實(shí)現(xiàn)原理,因此才出現(xiàn)了這種錯(cuò)誤的傾向。

后來推出了PHP 5,與以前版本相比有了不小改進(jìn),但是它主要是增加了一些從C++和Java中提取出來的功能,但是人們只是到處找來一些新功能,但卻沒有仔細(xì)的分析每一個(gè)增加的功能,及其對這個(gè)語言的影響。

相比之下,根據(jù)我對Python語言多年的觀察,在過去10多年中它增加的每一個(gè)新功能都經(jīng)過反復(fù)的分析和推敲。時(shí)間將會證明誰對誰錯(cuò),或者PHP社區(qū)將會知道如何來處理這些功能,但是我對此深表懷疑。

在最近一段時(shí)間里,我一直使用PHP來實(shí)現(xiàn)我新建立的站點(diǎn)。之所以選擇它的關(guān)鍵是,我只用它來進(jìn)行一些簡單的開發(fā)。舉個(gè)例子來說,PHP讓你可以解決非常弱智的HTML問題,例如你不能在HTML中包含文件的問題。PHP可以輕松做到這一點(diǎn),而且可以讓我輕松的在整個(gè)站點(diǎn)之間實(shí)現(xiàn)我的設(shè)計(jì),而且有時(shí)候我們只需要實(shí)現(xiàn)一些小東西并將其嵌入在頁面中,PHP實(shí)現(xiàn)起這些東西來非常簡單。

但是,我發(fā)現(xiàn)隨著要完成的任務(wù)復(fù)雜度的提高,更好的選擇是選擇使用Python,因此PHP更適于處理簡單的任務(wù)。

Python的內(nèi)核非常精簡,功能非常豐富,它提供了一個(gè)良好的程序構(gòu)建基礎(chǔ)。綜合了C和C++二者的優(yōu)點(diǎn),只要采用合適的結(jié)構(gòu)和方式,便可對Python程序進(jìn)行無限的擴(kuò)充。當(dāng)然,它也有自己的不足之處,例如有的朋友抱怨Python對規(guī)則表達(dá)式的支持不如PHP中強(qiáng)大。

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2008-06-25 11:23 |只看該作者
喂喂,別把人往邪路上帶。

論壇徽章:
0
3 [報(bào)告]
發(fā)表于 2008-06-25 13:25 |只看該作者
目標(biāo)導(dǎo)向問題!
一個(gè)偉大的問題是你到底想要做什么?

:em11:

論壇徽章:
0
4 [報(bào)告]
發(fā)表于 2008-06-26 01:20 |只看該作者
請轉(zhuǎn)08年之后的文章,謝謝
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP