php編程培訓(xùn)為什么PHP還沒(méi)死嗎?怎么PHP更優(yōu)秀的編程語(yǔ)言嗎?php編程網(wǎng)絡(luò)大講堂
2022-06-16
作者 | 美女翻譯 | 彎月面
出品 | CSDN (ID:)
在流行文化的沖擊下,可能很多人不認(rèn)同本文所表達(dá)的觀點(diǎn),但我毅然決定再次逆流而上。在我看來(lái),雖然 PHP 在各方面都受到鄙視,但這種編程語(yǔ)言比以往任何時(shí)候都更受歡迎!
為什么?為什么 PHP 還沒(méi)有死?比PHP更好的編程語(yǔ)言不是還有很多嗎?
不,它沒(méi)有。如果存在這樣的語(yǔ)言,他們?cè)缇蛶ь^殺掉 PHP 了。我們需要重新審視什么是“更好”的編程語(yǔ)言。
為什么 PHP 還沒(méi)有死?如果你感到困惑,那可能是因?yàn)槟悴涣私饩幊?、程序員、市場(chǎng)和民主。實(shí)際上,這與代碼、函數(shù)或語(yǔ)法無(wú)關(guān)。
bash PHP 已成為時(shí)尚
今天,要想在編程圈里走紅,就必須抨擊一門與“主流文化”吹捧的編程語(yǔ)言競(jìng)爭(zhēng)的語(yǔ)言。這與語(yǔ)言本身的功能無(wú)關(guān),只是因?yàn)槲幕?,有點(diǎn)像宗教。
程序員固執(zhí)己見(jiàn),非常傲慢,但我們必須克服這些缺點(diǎn)。我們喜歡抨擊我們不喜歡也不使用的編程語(yǔ)言。你會(huì)發(fā)現(xiàn)有些工程師說(shuō) Java 很爛,有些人說(shuō) C# 很爛,還有一些人說(shuō) Go 很爛。至于具體的語(yǔ)言,根本無(wú)所謂,總會(huì)有批評(píng)的。
此外,還有更深的不屑。最近幾天,PHP和PHP之間一直在進(jìn)行一場(chǎng)無(wú)聲的較量,看來(lái)學(xué)術(shù)界正在策劃一個(gè)陰謀:殺死PHP并取而代之。
今天,您甚至?xí)l(fā)現(xiàn) LAMP 堆棧中的 P 神奇地變成了一些 頁(yè)面。二十年前,我在使用 LAMP 的時(shí)候,字母指的是 but、 、 PHP,而當(dāng)時(shí)的 P 指的是 PHP,不是小程序開(kāi)發(fā),甚至不是 Perl。我并不是說(shuō)這些定義不能改變。也許是我太可疑了?不夠包容?說(shuō)占據(jù)PHP的位置?
對(duì)于我們大多數(shù)人來(lái)說(shuō),還有其他一些在大學(xué)里學(xué)到的小眾語(yǔ)言可能永遠(yuǎn)不會(huì)在實(shí)際工作中使用。雖然我們的老師或其他菜鳥(niǎo)會(huì)說(shuō)“PHP 很爛”,但可能他們中的大多數(shù)人從未編寫(xiě)過(guò)一行 PHP 代碼。
事實(shí)上,您甚至可能想知道是否有人真的從事專業(yè)的 PHP 編程。對(duì) PHP 的普遍鄙視實(shí)際上是不合邏輯的,而不是發(fā)自內(nèi)心的。只是在咖啡店里和朋友聊天的時(shí)候,我們習(xí)慣了一起鄙視某些名人、網(wǎng)紅或者PHP。
此外,還有一些編程純粹主義者愿意浪費(fèi)他們寶貴的時(shí)間來(lái)挑剔 PHP 有多糟糕。這些爭(zhēng)論大多圍繞著個(gè)人喜好,或者他們不喜歡的細(xì)微差別,以宣傳他們最喜歡的編程語(yǔ)言并希望他們統(tǒng)治世界!
他們的抱怨不斷:
PHP 是弱類型的,并且有很多糟糕的代碼。
還有 Node.js,為什么不呢?你用的不是一樣嗎?
PHP 的功能太多了。
甚至有人抱怨這太方便了?
函數(shù)名稱不匹配。
當(dāng)一種語(yǔ)言真正民主化并且不是由單個(gè)“專家”編寫(xiě)時(shí),就會(huì)出現(xiàn)這個(gè)問(wèn)題。
如您所見(jiàn),他們對(duì) PHP 的批評(píng)通常源于個(gè)人喜好,或者只是吹毛求疵。如果是這種情況,我們可以選擇 C#、Java、Go 或任何其他語(yǔ)言的相同問(wèn)題。作為程序員,我們喜歡發(fā)牢騷。
但作為程序員,我們喜歡抨擊 PHP 的真正原因是我們與生俱來(lái)的傲慢和徹頭徹尾的嫉妒。
PHP 更容易使用
PHP 誕生于 90 年代中期,甚至早于我們中的一些人。自 2000 年代初以來(lái),我一直在使用 PHP,當(dāng)時(shí)版本從 4 過(guò)渡到 5,然后我開(kāi)始使用 , 在自己的框架中編寫(xiě)應(yīng)用程序。
我認(rèn)為 PHP 存在的主要原因,以及該語(yǔ)言不會(huì)消亡的主要原因是,它不僅嵌入在各種新舊應(yīng)用程序中,而且嵌入在新老程序員的心中PHP 很久了。幾十年。我們不會(huì)死,我們寫(xiě)的業(yè)務(wù)代碼也不會(huì)消失。
有趣的是,它誕生于 1991 年,比 PHP 還早。雖然它的壽命更長(zhǎng)php編程培訓(xùn),但它的采用還沒(méi)有達(dá)到今天 PHP 的水平。
為什么?
在我個(gè)人看來(lái),與 PHP 相比,它使用起來(lái)很痛苦。這個(gè)問(wèn)題在 3 中得到了緩解,但是 15 年前,還沒(méi)有開(kāi)箱即用的“噱頭”功能,遠(yuǎn)不及 PHP。您必須手動(dòng)安裝許多功能。
另外,我發(fā)現(xiàn)了另一個(gè)問(wèn)題,并且一直持續(xù)到今天,就是空格。我討厭使用空格作為分隔符的語(yǔ)法。我想以我喜歡的方式分離代碼,我不希望編程語(yǔ)言妨礙我。不管你怎么炒作,代碼都是我的,我想寫(xiě)什么就寫(xiě)什么,沒(méi)有人能控制。
總是吹噓“易于閱讀”的空格語(yǔ)法,但這只是營(yíng)銷廢話。我個(gè)人認(rèn)為最糟糕的語(yǔ)法是在不知情的情況下使用的。
這種固執(zhí)己見(jiàn)的語(yǔ)法很容易引入錯(cuò)誤。最初,在 IDE 能夠解決所有這些問(wèn)題之前,我相信沒(méi)有程序員喜歡這種語(yǔ)法。至少我個(gè)人不喜歡。這就是為什么幾十年來(lái)該語(yǔ)言的采用緩慢的部分原因。事實(shí)上,這是因?yàn)檫@種語(yǔ)法對(duì)用戶不友好。
另外,我認(rèn)為人們?cè)谠缒瓴⒉恢来嬖凇K鳛槟_本語(yǔ)言嵌入到發(fā)行版中,這就是它的主要目的。沒(méi)有人會(huì)站出來(lái)大喊:“我可以用它建一個(gè)網(wǎng)站!”
其實(shí),雖然我們可以把它當(dāng)成網(wǎng)站來(lái)用,但是好的工程師都知道,它的強(qiáng)項(xiàng)不是做網(wǎng)站。除了我個(gè)人對(duì)語(yǔ)法的偏好之外,它在功能方面是一種非常強(qiáng)大的語(yǔ)言,尤其是它的庫(kù)可以用于數(shù)據(jù)科學(xué)或其他需要精確性的地方。
PHP 是一種任何人都可以使用的語(yǔ)言
我同意在過(guò)去的 15 年中,已經(jīng)有許多超越 PHP 的更新,只是晚了 10 年。
2008 年發(fā)布的 3 實(shí)際上打破了向后兼容性。2 的代碼不適用于 3,您需要進(jìn)行一些修改。但是,如果有一百萬(wàn)行代碼需要更新,這不是游戲,尤其是在企業(yè)環(huán)境中。
公平地說(shuō),PHP 7 和 8 也破壞了一些 PHP5 代碼(沒(méi)有 PHP 6)。我是幫助更新在 PHP 7 和 8 之上運(yùn)行的框架的 1 個(gè)社區(qū)的一員。幸運(yùn)的是,我的企業(yè)遺留代碼是當(dāng)我將 ZF1 升級(jí)到 PHP 7 和 8 時(shí)幾乎沒(méi)有損壞。因此,大部分 PHP 5.6 代碼仍然向后兼容。
但也許真正幫助 PHP 一炮走紅的事件是 2005 年一家名為 .
一開(kāi)始它很不起眼,但它不僅改變了開(kāi)發(fā)者,也改變了普通人發(fā)布網(wǎng)站的方式。
到目前為止,最好的分發(fā)選項(xiàng)是 ,或其他一些 BBS 軟件。但是這些軟件使用起來(lái)很痛苦php編程培訓(xùn),因?yàn)榫帉?xiě)它們的人更像程序員而不是普通用戶。
如果它是用 編寫(xiě)的,那么 PHP 可能真的走下坡路了。但我敢說(shuō),它會(huì)阻礙快速上升,甚至完全阻止它。
采用和擴(kuò)大貢獻(xiàn)者支持對(duì)于開(kāi)源市場(chǎng)中語(yǔ)言或應(yīng)用程序的生存至關(guān)重要。易用性是推動(dòng)采用率迅速上升的關(guān)鍵。
作為一名受過(guò)大學(xué)教育的軟件工程師,無(wú)論你如何詆毀 PHP,都不能否認(rèn) PHP 不僅受到專業(yè)軟件工程師的青睞,而且受到兼職人員、家庭主婦、平面設(shè)計(jì)師、公司經(jīng)理、企業(yè)家和小學(xué)的青睞。學(xué)生。能用電腦寫(xiě)網(wǎng)頁(yè)。
可以說(shuō)PHP是信息時(shí)代的(語(yǔ)言)。
作為軟件工程師,您必須以與軟件工程師相同的方式思考,而不是只想在有限的時(shí)間和資源的情況下為自己的小型企業(yè)建立網(wǎng)站。
而 PHP 改變了這一切。
它本身很容易使用,但功能有限。一種插件架構(gòu),普通人可以利用并編寫(xiě) PHP 代碼的小片段,他們不需要重寫(xiě)整個(gè)類或成為軟件工程師來(lái)做。
數(shù)以百萬(wàn)計(jì)的業(yè)余程序員通過(guò)與網(wǎng)絡(luò)上的其他人分享他們的成功來(lái)發(fā)展這個(gè)平臺(tái)。
通俗易懂的 PHP 語(yǔ)言可以讓普通人編寫(xiě)高效的代碼。簡(jiǎn)單,無(wú)特殊要求,弱類型,無(wú)需編譯,運(yùn)行即可。
PHP 和互聯(lián)網(wǎng)
15 年后的今天網(wǎng)站制作,PHP 為 78% 的網(wǎng)絡(luò)提供支持。它僅占所有網(wǎng)站的近 40%,擁有近 2/3 的 CMS 市場(chǎng)份額!關(guān)鍵是希望能占領(lǐng)這些市場(chǎng)的10%!雖然純粹主義者討厭 PHP,但它還不到網(wǎng)絡(luò)的 1.5%。
一些企業(yè)客戶的招聘人員聯(lián)系了我,他們希望刪除所有 Web 代碼并用 PHP 替換它。你可能會(huì)感到震驚,但應(yīng)該更是如此。為什么?因?yàn)槔蠈?shí)說(shuō),網(wǎng)絡(luò)不是主戰(zhàn)場(chǎng),主要用戶是數(shù)據(jù)科學(xué)和其他專家,在這方面有經(jīng)驗(yàn)的人供不應(yīng)求。
公司通常需要靈活。當(dāng)需要擴(kuò)大團(tuán)隊(duì)或有人離開(kāi)時(shí),他們不能花費(fèi)數(shù)周或數(shù)月來(lái)尋找新人。工程師也很昂貴。
對(duì)于小型企業(yè)來(lái)說(shuō),尋找 PHP 程序員要容易得多,必要時(shí)甚至可以進(jìn)行培訓(xùn)。關(guān)鍵是你可以找到一位擁有數(shù)十年經(jīng)驗(yàn)的高級(jí) PHP 架構(gòu)師,這比找到同等職位要容易得多。
關(guān)鍵是,如果您在一家公司工作并嘗試在沒(méi)有正當(dāng)理由的情況下編寫(xiě)網(wǎng)頁(yè)或中間件,那么您將受到指責(zé)。由于公司將為此背負(fù)代碼,因此將來(lái)他們將需要花費(fèi)巨額資金來(lái)刪除該代碼并用正確的工具替換它。
應(yīng)用架構(gòu)師的首要工作是為企業(yè)的實(shí)際情況選擇最有效的技術(shù)。僅僅因?yàn)樗诰W(wǎng)上很流行,或者在學(xué)校教授某種語(yǔ)言,你不能根據(jù)自己的喜好選擇。
在極少數(shù)情況下我會(huì)建議完全編寫(xiě) SaaS 應(yīng)用程序,并且考慮到 Web 市場(chǎng)份額,似乎大多數(shù)應(yīng)用程序架構(gòu)師會(huì)選擇正確的語(yǔ)言。他們會(huì)挑選他們最擅長(zhǎng)的,并根據(jù)其最大優(yōu)勢(shì)選擇 PHP。
總結(jié)
作為工程師,我們都喜歡使用自己熟悉的語(yǔ)言,也喜歡嗅探自己不熟悉的技術(shù)。
各種學(xué)院和大學(xué)都在嘗試將其用作通用的商業(yè)語(yǔ)言。但實(shí)際上,它更適合運(yùn)行服務(wù)器、數(shù)據(jù)科學(xué)、處理大而復(fù)雜的數(shù)字,甚至挖掘加密貨幣。
雖然 PHP 是大眾語(yǔ)言,但它已成為 的事實(shí)上的語(yǔ)言。
所以,如果你喜歡,繼續(xù)抨擊 PHP,繼續(xù)鄙視它。無(wú)論如何,到目前為止,PHP 仍然是網(wǎng)絡(luò)上使用最廣泛的語(yǔ)言,并且隨著 PHP 的持續(xù)快速增長(zhǎng)以及 PHP 7 和 8 的新速度,這種狀態(tài)不會(huì)很快改變。
參考鏈接:
《新程序員003》正式上線,50多位技術(shù)專家合著,云原生和數(shù)字開(kāi)發(fā)者的技術(shù)選書(shū)。內(nèi)容既有發(fā)展趨勢(shì),又有方法論結(jié)構(gòu),有華為、阿里巴巴、字節(jié)跳動(dòng)、網(wǎng)易、快手、微軟、亞馬遜、英特爾、西門子、施耐德等30多家知名企業(yè)的云原生和數(shù)字化第一手經(jīng)驗(yàn)!