Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 一区二区在线不卡,欧洲男人与女人xx视频,窝窝午夜看片成人精品

          整合營銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          PHP“垂死”十年

          于一門古老的語言來說,支撐未來技術(shù)的東西不是與時(shí)俱進(jìn)嗎?


          差不多一年前,我發(fā)布了一篇題為“PHP可能在未來十年消失”的文章。我發(fā)布的這篇文章的總結(jié)就像一首《圣誕頌歌》,但不是 Ebenezer Scrooge(電影《圣誕頌歌》中的一個(gè)商人角色),而是 PHP:

          • 過去,PHP 沒有修復(fù)它的問題,所以其它語言變得更有吸引力。
          • 現(xiàn)在,PHP 缺乏當(dāng)前互聯(lián)網(wǎng)所需的特性。
          • 將來,PHP 仍然不會(huì)有有意義的特性。


          請(qǐng)注意,我從來沒有寫過“垂死”、“不要用它”,甚至“現(xiàn)在就放棄你的 PHP 項(xiàng)目!”。我只是說它會(huì)在 2030 之前的任何時(shí)候變得不再有意義,并對(duì)此為什么會(huì)發(fā)生做了的一個(gè)簡(jiǎn)單的解讀。


          考慮到 PHP 龐大的用戶基礎(chǔ),一些指出 PHP 缺點(diǎn)的文章,往往會(huì)引爆一些狂熱者。他們認(rèn)為 PHP 是完美的,僅僅因?yàn)樗芊奖悖蛘咭驗(yàn)樗麄兓?10 多年時(shí)間使用 PHP。我的文章也不例外。不管如何,我決定把它從消極的陰云中拉出來,給予更多思考。


          這不是我的問題,而是你的問題

          首先說明,我對(duì) PHP 或者任何語言都沒有個(gè)人恩怨。我認(rèn)為它是一個(gè)非常成熟的工具,當(dāng)我需要“昨天”的東西時(shí),它也是我最喜歡使用的東西,因?yàn)樗鳛榻忉屝驼Z言非常方便,而且生態(tài)系統(tǒng)就在那里。


          這也與代碼質(zhì)量無關(guān)。你不能因?yàn)殚_發(fā)人員沒有“正確地”使用一種語言,而責(zé)怪它,至少不能全怪。不論你的福特或蘭博基尼多么炫酷:如果你不關(guān)心它,維護(hù)就會(huì)很痛苦。


          這也與世界上有多少人使用 PHP 無關(guān)。如果我們選擇“用戶基礎(chǔ)最高”,那么現(xiàn)在就開始將代碼遷移到 Javascript。這場(chǎng)比賽他們輕而易舉就贏了,無可匹敵。


          先不說“是否被重要公司使用”——稍后再談。JavaScript對(duì)于SpaceX的任務(wù)已經(jīng)非常關(guān)鍵,所以顯然它不是一種糟糕的語言,否則宇航員的生命就面臨風(fēng)險(xiǎn)。


          只是現(xiàn)在,PHP 變成了一個(gè)只會(huì)玩一種把戲的小馬。這門語言以蓬勃發(fā)展的 web 開發(fā)聞名,但官方不愿采取進(jìn)一步措施。而其它語言已經(jīng)在進(jìn)一步改進(jìn)了。那是死亡的奧秘。

          語言會(huì)“死”嗎?

          讓我們以古老的編程語言之一COBOL為例。


          幾十年前,銀行和保險(xiǎn)公司背后的一些老的金融系統(tǒng)都是用 COBOL 編程的。世界各地的許多金融機(jī)構(gòu)仍在他們的大型機(jī)中使用 COBOL,主要的一個(gè)原因是:它仍然工作。這一點(diǎn)的證明是,由于流行病的爆發(fā),COBOL雇傭人數(shù)突然增加,以維持這些來自世界各地的不斷受到?jīng)_擊的古老系統(tǒng)。


          COBOL 沒有死,但這意味著什么呢?有一些工具可以使基于 COBOL 的軟件與當(dāng)今人們的需求兼容,比如網(wǎng)頁,即使這意味著用一個(gè)簡(jiǎn)單的工具將火箭固定在磚塊上。仍然有人需要編寫和維護(hù) COBOL。甚至有一些公司為基于 COBOL 的系統(tǒng)提供某種支持。


          我們可以放心得出結(jié)論:編程語言是不可能被消滅的。總有一個(gè)混蛋用它來賺錢,還有一個(gè)混蛋提供第三方支持來賺更多的錢。這是一種雙贏的局面。


          在企業(yè)文化中,如果你的技術(shù)棧沒有使公司“損失”任何錢,那就沒關(guān)系了。否則,你就會(huì)像亞馬遜因?yàn)樗麄冏约旱腁WS數(shù)據(jù)庫而拋棄了甲骨文一樣。

          如果它沒有死,那怎么“淡出”呢?

          COBOL 沒有死,它只是“淡出了”:沒有一個(gè)頭腦正常的人會(huì)使用 COBOL 啟動(dòng)一個(gè)新項(xiàng)目,因?yàn)橛懈玫墓ぞ摺_@些工具擁有更高的性能、更好的可靠性、更方便編程或者有用的特性。在 COBOL 時(shí)代,還沒有 HTTP 協(xié)議、多線程和虛擬化等當(dāng)今軟件所使用的其它有用技術(shù)。


          當(dāng)人們不再在新項(xiàng)目中使用一種語言時(shí),多米諾骨牌開始倒塌。針對(duì)這種語言的工具不再誕生和維護(hù)。由于沒有需求,語言不再引入新特性,社區(qū)不再創(chuàng)造新的工具集,它不再傳播到其它生態(tài)系統(tǒng)中——比如 Node.js 出現(xiàn)在服務(wù)器端。沒有新的程序員學(xué)習(xí)這門語言,已經(jīng)學(xué)習(xí)這門語言的程序員遷移到了“更綠色的牧場(chǎng)”。


          這也意味著,公司不愿意投資于語言本身,包括雇傭程序員。與更豐富的語言相比,這變得更難找到這門語言的開發(fā)者,因此給這門語言的開發(fā)者支付的薪酬也需要更高。此時(shí),遷移到勞動(dòng)力成本更低的新平臺(tái)成為公司的一種選擇。


          COBOL 的情況與 Visual Basic、ASP .Net、Pascal、Fortran、ActionScript、Objective C、Haskell、Ruby 等許多其它服務(wù)端語言一樣。它們完成了它們的技術(shù)周期,更好的語言用更多特性和工具集,或者更少的煩惱,取代了它們,就像 PHP 在 2000 年代中期針對(duì)互聯(lián)網(wǎng)做的那樣。一旦 Rust 成為 Linux 內(nèi)核開發(fā)的標(biāo)準(zhǔn),它也很可能發(fā)生在 C 和 C++中。


          與其它替代語言相比,PHP 的崛起主要與 Wordpress 的首次出現(xiàn)和 PHP 在服務(wù)器領(lǐng)域的易賣性有關(guān)。特別是那些需要被編譯成二進(jìn)制的語言,即使這些替代語言有更多的特性或更好的性能,而 PHP 曾經(jīng)兩者都缺乏。正是因?yàn)?Wordpress 的崛起,媒體巨頭們害怕自己的作品被“一個(gè)有博客的家伙”扼殺,于是接受了這一趨勢(shì),開始使用 Wordpress 來增強(qiáng)他們的互聯(lián)網(wǎng)影響力。Wordpress甚至為這些公司提供了VIP模式。


          PHP 上的這種“硬鎖”現(xiàn)在正在改變,這主要?dú)w功于云服務(wù)為其它編程語言提供了新平臺(tái),但即使到了今天,租到一臺(tái)運(yùn)行 PHP 的服務(wù)器并在一天內(nèi)開始使用也不稀奇。事實(shí)是,今天也很容易租到一臺(tái)運(yùn)行 Node.JS 或 AWS Lambda 的服務(wù)器。你不需要多年的培訓(xùn)來使用一家云服務(wù)提供商,或者一個(gè)服務(wù)器服務(wù),甚至谷歌也提供了一個(gè)使用谷歌云平臺(tái)的教程。


          盡管如此,PHP 仍然是能夠支持網(wǎng)站開發(fā)的屈指可數(shù)的語言之一。隨著越來越多的人參與進(jìn)來,社區(qū)和官方都推出了工具:Opcache 用于 I/O 性能處罰、PDO 用于通用數(shù)據(jù)庫層、Autoloader 用來使大型項(xiàng)目更易管理、Composer 用于依賴部署、PSR 用于標(biāo)準(zhǔn)化代碼規(guī)范、PHPUnit 用于測(cè)試、PECL 用于擴(kuò)展等等。


          所以,回到概念上來,淡出意味著被取代。它的使用量不會(huì)增長,而是變得停滯不前。唯一可能發(fā)生的事情就是慢慢被其它解決方案取代。這不是發(fā)生在一夕之間,而是常年的積累。


          從公司的角度來看,改變技術(shù)棧需要花費(fèi)大量的資源,而沒有立即的ROI:遷移到新的技術(shù)棧不是沒有代價(jià)的,更不是一天就完成的。更糟糕的是,有些工具可能不存在,比如分析、調(diào)試、甚至部署工具,這些都必須從頭開始。


          這使得很難說服老板進(jìn)行“技術(shù)棧”遷移。這些老板,不是負(fù)責(zé)你的人,而是那些投資為了保持利潤比上一時(shí)期更高的人。除非你能證明有一個(gè)新的“商業(yè)機(jī)會(huì)”,舊的技術(shù)棧無能為力,或者與其它新技術(shù)棧相比會(huì)相對(duì)性地賠錢,否則通常很難改變已經(jīng)生效的一些東西。

          錘子是可靠的。射釘槍更好。

          結(jié)合上下文,看看W3Tech對(duì)PHP的看法,你會(huì)發(fā)現(xiàn) PHP 仍然因?yàn)楸皇褂玫刈疃喽鲗?dǎo)著因特網(wǎng),但不是在100%的真實(shí)流量上,而是在頭部網(wǎng)站上,包括非美國平臺(tái)。換句話說,如果 Facebook 使用了一個(gè) PHP 腳本,那并不意味著整個(gè)平臺(tái)都是基于 PHP 的——以及會(huì)更多地在該公司上。


          Wordpress 仍然是事實(shí)上被廣泛使用的 CMS,與 WooCommerce 一起成為企業(yè)的首選。雖然也有 SaaS 提供相同的服務(wù),但可能沒有必要修復(fù)沒有損壞的東西。



          W3Techs.com 收集的網(wǎng)站使用的服務(wù)端編程語言的比例


          以上說明:PHP 仍然是任何 web 項(xiàng)目都要考慮的工具。到目前為止,Wordpress 是 PHP 的巔峰之作。仍然有新的網(wǎng)站正在使用 PHP 創(chuàng)建。當(dāng) PHP 滿足所有的復(fù)選框時(shí),一兩個(gè)人建立一個(gè)互聯(lián)網(wǎng)公司仍然是完全正常的...直到它不能滿足所有條件。


          今天有很多 web 技術(shù)可以使用:WebRTC、WebSockets、QUIC、HTTP/3、WebAssembly、WebAuthn、漸進(jìn)式 Web 應(yīng)用、機(jī)器學(xué)習(xí)、JSON Web 身份驗(yàn)證、gRPC 和服務(wù)端事件等等。這些技術(shù)支持了在線聊天系統(tǒng)、多媒體流、持續(xù)實(shí)時(shí)數(shù)據(jù)、新的身份驗(yàn)證機(jī)制等等。這些技術(shù),PHP 都很難支持,甚至不可能支持;例如,很難支持流式那樣傳輸大文件而不會(huì)阻塞自身,或者不可能支持 WebSockets。


          Hack 只是大公司的未來,因?yàn)樗麄円婚_始就能燒錢運(yùn)行 HHVM...


          因?yàn)橛泻芏喙ぷ饕觯詮囊环N語言過渡到多種語言,或者將服務(wù)推給向你提供所需功能的公司,比如讓Mux處理視頻平臺(tái),讓Pusher處理事件傳播,已經(jīng)成為一種常態(tài)。有人可能說你是花錢圖方便,但也有人會(huì)說你付錢是因?yàn)槟愕募夹g(shù)棧無法處理這些問題。


          另一方面,你可以自己掌控所有東西。前端可以在 PHP 下工作,也可以是一個(gè)基于 JavaScript 或像 React、Angular 或 Vue 框架的單頁應(yīng)用(Single Page Application,SPA)。后端可以運(yùn)行在基于 Rust、Go、F#、HHVM、.Net Core、Node.js 或者別的什么語言的應(yīng)用上。因?yàn)?PHP 不能做所有事情,開發(fā)地獄就開始了,一致性會(huì)快速喪失。你開始從依賴一個(gè)生態(tài)系統(tǒng)到依賴非常多生態(tài)系統(tǒng)。


          PHP 項(xiàng)目與其它 SaaS 或者基于 Node.js、Python、Go 或 Rust 編寫的運(yùn)行時(shí)結(jié)合在一起就不足為奇,添加另一個(gè)要維護(hù)的代碼庫或應(yīng)用程序。這可能弊大于利,因?yàn)槟惚仨殲轫?xiàng)目的每個(gè)部分處理兩個(gè)(或更多)部署方案。


          雖然有少數(shù)人能夠處理所有事情,但向一個(gè)人提供合同的可能性非常小,主要是因?yàn)?/span>能處理所有事情的人很少,而且也不便宜


          “但是這個(gè)偉大的公司使用 PHP”

          我經(jīng)常聽到的一句話是“但是 Facebook 使用 PHP”,好像它是一種蓬勃發(fā)展的 Web 技術(shù)。以 PHP 起家的頂級(jí)公司已經(jīng)明確表示,Hack 及 HHVM——“現(xiàn)代化 PHP 但消耗內(nèi)存”——是公司的后續(xù)措施:

          • Facebook 遷移到Hack/HHVM并從2014年開始運(yùn)行。
          • Wikipedia 也在2014年通過HHVM的支持拋棄了PHP。
          • Etsy也在2015年從PHP遷移到了Hack。
          • Slack, 被SalesForce用277億美元收購,也在2020年從PHP遷移到了Hack。


          注意,我強(qiáng)調(diào)了“企業(yè)后續(xù)措施”。Hack 就是未來?事實(shí)上,Hack 只是大公司的未來,因?yàn)樗麄円婚_始就有錢運(yùn)行 HHVM,而且他們不想遷移 90%的代碼。剩下的非百萬富翁公司只能使用 PHP 和廉價(jià)的服務(wù)器

          任何一家擁有大筆資金的公司都可以為自己的利益創(chuàng)造自己的語言,就像 Facebook、Apple、Google 和 Mozilla 那樣,因?yàn)樗麄冇腥恕⒂蓄^腦去做,有服務(wù)去實(shí)現(xiàn)。無論好壞,我們只是附帶的。


          擁有一門內(nèi)在需求穩(wěn)定的語言可以讓它進(jìn)步,即使有時(shí)這意味著做出不太好的決定。

          它足夠了,直到它不能

          有時(shí)候說“你不能在 PHP 上做那件事”有點(diǎn)兒讓人難過。新的JIT引擎很受歡迎,但它并不是將它與其它新興語言相結(jié)合的靈丹妙藥。性能過去是 PHP 的一個(gè)非常重要的問題,但現(xiàn)在它不是唯一的問題。互聯(lián)網(wǎng)在發(fā)展,而 PHP 沒有。



          圖片來源:Carl Heyerdahl on Unsplash


          如今,網(wǎng)頁只是起點(diǎn)。正在發(fā)生的 COVID-19 大流行表明,你需要系統(tǒng)針對(duì)不同數(shù)據(jù)類型的不斷變化的狀態(tài)做出反應(yīng)。如今,PHP 還不夠,當(dāng)它足夠的時(shí)候——看看最近的發(fā)展有多慢——開發(fā)人員將擁有更好的工具。沒人會(huì)等著 PHP 實(shí)現(xiàn)自身的現(xiàn)代化,也沒有企業(yè)會(huì)這樣做。這就是所謂的進(jìn)步:新工具取代老工具。


          當(dāng)你需要的不僅僅是顯示一個(gè)具有基本交互的網(wǎng)頁時(shí),問題就出現(xiàn)了。就在那時(shí),PHP 展示了其二十多年的歷史,它是如何與當(dāng)今的技術(shù)和產(chǎn)品需求脫節(jié)。


          我肯定不是唯一一個(gè)等了足夠時(shí)間讓 PHP 成為一個(gè)像樣的技術(shù)競(jìng)爭(zhēng)對(duì)手的人。從業(yè)務(wù)邏輯的角度來看,PHP 非常方便,因?yàn)樗恼Z法允許在專家手中非常有表現(xiàn)力的聲明操作,特別是在“業(yè)務(wù)邏輯”部分,但它不是萬能的。


          PHP 是現(xiàn)在,但不是未來。


          我認(rèn)為這些段落表明 PHP 因?yàn)槠浔举|(zhì)而仍然是王者。沒有哪一種語言在提供便利和成熟的同時(shí)獲得如此大的吸引力,而不是功能——另外,就是 Wordpress 效應(yīng)。


          PHP 如何將被淘汰?每個(gè)人只需點(diǎn)擊幾下就可以創(chuàng)建它們自己的簡(jiǎn)介、商店、圖片庫、云存儲(chǔ)、群聊等等;無需托管,無需服務(wù)器和代碼。


          我個(gè)人認(rèn)為,現(xiàn)在,由于 SaaS 和一鍵安裝的激增,我們已經(jīng)超越了像 Wordpress 那樣的“殺手級(jí)應(yīng)用”。我們現(xiàn)在處于“殺手級(jí)生態(tài)系統(tǒng)”,一種語言已經(jīng)描述了部分,而你帶來自己的膠水。也許是 Node.js?也許是 Go?也許是 Python?也許是 TypeScript 編譯為二進(jìn)制?也許是 Rust 的垃圾收集器?也許是一種全新的語言?

          也許是 PHP 9?

          我看到一些人希望對(duì) PHP 進(jìn)行大的修改。除非 Rogue Wave(Perforce)內(nèi)部有什么變化來推動(dòng)Zend引擎在技術(shù)上向前發(fā)展,否則絕對(duì)不會(huì)。他們很可能是想要賣掉 Zend 服務(wù)器。我不認(rèn)為他們是成功的,當(dāng)你考慮到大公司盡快離開 PHP 的趨勢(shì),并使博客文章對(duì)每個(gè)人進(jìn)行嘲諷。


          并不是說 PHP 明天就會(huì)停止使用:它仍然工作,而且很容易掌握,因?yàn)榭傆幸粋€(gè)MVP可以開始,它不需要花里胡哨的東西。只不過,PHP 是現(xiàn)在,而不是未來,負(fù)責(zé)這一點(diǎn)的人其實(shí)并不在乎。也許一旦一種新的語言出現(xiàn),提供 PHP 和其它語言中最好的部分。Hack 剛剛證明了公司級(jí) PHP 有很好的代碼重用市場(chǎng)。


          一旦下一個(gè)大事件席卷互聯(lián)網(wǎng),PHP 就來不及趕上了。


          沒有語言會(huì)完全死掉。PHP 沒死,只是其它語言已經(jīng)超越了它。當(dāng)然,它們不像 PHP 那樣經(jīng)過戰(zhàn)斗測(cè)試...但他們正在實(shí)現(xiàn)。


          當(dāng)你認(rèn)為人類對(duì)未知事物有固有的恐懼時(shí),就會(huì)很容易同情那些被告知嘗試另一種工具時(shí)的語言狂熱者的憤怒。這適用于走出舒適區(qū)進(jìn)入新事物,在本例中,這是從一種可靠的語言(如 PHP)遷移到更適合您需求的其它語言。沒有人會(huì)因?yàn)閮H僅“浪費(fèi)”一周或一個(gè)月去學(xué)習(xí)和了解新的生態(tài)系統(tǒng)而死掉。最壞的情況是,你學(xué)會(huì)了不再去哪里,就像你選錯(cuò)了度假目的地。


          通過多年的軟件開發(fā)解決問題,我認(rèn)識(shí)到,走向(而不是跑向)技術(shù)的地平線是工作的一部分,即使這意味著接受我們?cè)?jīng)熱愛的東西走向命中注定...


          ...未完待續(xù)。

          先,定義“更好”?這是一個(gè)非常主觀的術(shù)語,完全取決于你要找的是什么。你是說更快嗎?更廣泛的使用?容易嗎?提供更好的就業(yè)前景?框架和庫的更大可用性?我可以繼續(xù)說下去。

          PYTHON


          Python和PHP哪一個(gè)更好,為什么?

          Python的優(yōu)勢(shì)是什么?

          大量的內(nèi)置和第三方庫/模塊,專門用于web開發(fā)和服務(wù)器管理(服務(wù)器管理也適用于web開發(fā))。

          這些第三方庫設(shè)計(jì)良好,維護(hù)良好,易于安裝,功能強(qiáng)大。

          易于開發(fā)。如果你曾經(jīng)用Python編程過,你就會(huì)知道它有多簡(jiǎn)單。

          Django非常強(qiáng)大。它幫助替換JavaScript和PHP。

          個(gè)人而言,我討厭PHP和JavaScript。它們使用起來令人沮喪,而且都容易出現(xiàn)漏洞。更多的是因?yàn)镻HP語言的缺陷;因?yàn)楣殴值囊?guī)范中的缺陷導(dǎo)致了對(duì)JS引擎應(yīng)該如何實(shí)現(xiàn)的糟糕解釋。

          完全面向?qū)ο蟮摹?/p>

          非常適合數(shù)據(jù)操作和機(jī)器學(xué)習(xí)(如果你在平臺(tái)上提供有針對(duì)性的廣告,這一點(diǎn)很重要)。

          有了正確的框架和模塊(作為標(biāo)準(zhǔn)包含),您就可以很好地與數(shù)據(jù)庫服務(wù)器集成,并為站點(diǎn)自動(dòng)生成查詢。

          例如,如果用戶在他們的賬戶中搜索特定的許可證密鑰,框架通過將用戶的操作轉(zhuǎn)換為SQL查詢來處理。

          例2:如果管理員通過電子郵件地址搜索客戶,框架會(huì)將其轉(zhuǎn)換為SQL查詢,然后將結(jié)果轉(zhuǎn)換回來,并以css格式的HTML顯示它們。


          Python的優(yōu)勢(shì)是什么?

          Python的弱點(diǎn)是什么?

          緩慢,很緩慢。比Python迷們承認(rèn)的要慢。正如網(wǎng)上所說,PHP的速度快了3倍(有時(shí)快,有時(shí)慢,取決于情況)。

          當(dāng)你使用它進(jìn)行開發(fā)時(shí),你不能把它當(dāng)成是在使用Python:你在使用一個(gè)框架(例如Django)。所以學(xué)習(xí)Python是不夠的,你還必須學(xué)習(xí)框架。

          Python遠(yuǎn)不及PHP的廣泛使用,因此它的可雇傭性因素,特別是在web開發(fā)方面,是非常有限的。我聽說有一項(xiàng)數(shù)據(jù)顯示~80%的網(wǎng)站使用PHP -我無法驗(yàn)證這個(gè)數(shù)據(jù),但我不會(huì)感到驚訝。

          這種情況與速度慢有關(guān),但是需要單獨(dú)處理:資源使用。Python比PHP更占用資源。你可能會(huì)想,如果它利用了這么多可用的資源,那實(shí)際上可能有助于加速它……不,不,它沒有。

          Python總結(jié):

          Python的OOP方面糟透了。如果您曾經(jīng)用Java、c#或c++等語言進(jìn)行過OOP,您就會(huì)理解我為什么討厭它。任何依賴于此和super()的語言都沒有做到這一點(diǎn)。它使您的代碼看起來非常混亂,混淆了整個(gè)過程,并使開發(fā)人員容易出錯(cuò)。這只是沒有必要——語言的整個(gè)方面感覺(我想我已經(jīng)在這個(gè)網(wǎng)站的其他地方說過)就像被一條盲魚用錘子栓住了一樣……作為一個(gè)事后的想法。你猜怎么著?這是!好吧,它不是用錘子栓上的,是一條魚。但這只是后來的想法,最初并沒有打算成為語言的一部分(最初并沒有包含它)。

          它是一種糟糕的、限制性很強(qiáng)的OOP實(shí)現(xiàn)。再一次的意見。有些人喜歡它,但他們通常說C和c++是困難的和令人困惑的。

          總而言之,這并不可怕,對(duì)吧?我個(gè)人認(rèn)為,從就業(yè)能力的角度來看,與PHP相比,上面最大的問題是“市場(chǎng)份額”。

          PHP


          php

          PHP的優(yōu)勢(shì)是什么?

          非常快。

          完全面向?qū)ο蟮摹?/p>

          用于絕大多數(shù)后端網(wǎng)絡(luò)服務(wù)和網(wǎng)站的“幕后”功能。

          與SQL服務(wù)器以及幾乎所有類型的服務(wù)器很好地集成。

          自動(dòng)生成對(duì)數(shù)據(jù)庫的查詢(參見Python示例部分的含義)

          為web使用而設(shè)計(jì)的豐富的內(nèi)置功能。

          許多可用的PHP web API進(jìn)一步擴(kuò)展了可以做的事情。

          其中很多是專門為PHP設(shè)計(jì)的,不能與Python & Django一起使用。

          許多電子商務(wù)API

          PHP的弱點(diǎn)是什么?

          php的語法糟透了。是的,這是一個(gè)觀點(diǎn),但它是一個(gè)非常廣泛的觀點(diǎn)。每一個(gè)和我交談過的PHP程序員也都持有這個(gè)觀點(diǎn)。如果你還不熟悉它,去看看。

          SQL注入攻擊。

          如何使用PHP解決:

          防止PHP應(yīng)用程序中的SQL注入漏洞并修復(fù)它們

          遠(yuǎn)程代碼執(zhí)行:

          PHP應(yīng)用程序中的bug可能會(huì)接受用戶輸入并將其作為PHP代碼計(jì)算。

          跨站腳本(XSS [X = Cross]):

          存儲(chǔ)XSS和反射XSS

          繞過認(rèn)證——從技術(shù)上講,這是開發(fā)人員的一個(gè)錯(cuò)誤,但是語言本身使它非常非常容易犯這個(gè)錯(cuò)誤。


          PHP的弱點(diǎn)是什么?

          PHP總結(jié):

          OOP和Python一樣糟糕。可能由于語法的原因更糟。它仍然使用這個(gè)(但實(shí)際上是$this)

          總之,這些漏洞非常可怕,但它們主要是由開發(fā)人員的錯(cuò)誤造成的。好好了解PHP,不僅要研究“我如何進(jìn)行PHP開發(fā)”,還要研究“PHP開發(fā)陷阱”和“PHP漏洞”,這樣就不會(huì)有這樣的問題了。

          那么最終的結(jié)論是什么呢?好吧,不管Python迷們?cè)趺凑f,Python不能完全取代PHP,因?yàn)榇嬖谕ㄓ玫腜HP專用API,而且PHP在行業(yè)中占主導(dǎo)地位。

          我知道我已經(jīng)講了很長時(shí)間了,但這是我的最后一點(diǎn),并且非常重要的一點(diǎn)是:開發(fā)人員應(yīng)該選擇一種“最好的語言,因?yàn)樗亲詈玫摹钡南敕ㄊ乾F(xiàn)代教育系統(tǒng)和初級(jí)開發(fā)人員的巨大失敗。為了真正精通任何開發(fā)領(lǐng)域,無論是web、應(yīng)用程序還是軟件,你都需要掌握多種語言。同樣的道理也適用于可靠的老板。

          軼事:當(dāng)我剛開始在這個(gè)行業(yè)工作的時(shí)候,我記得當(dāng)我詢問并且工作的開發(fā)人員告訴我他們知道匯編,C, c++, c#, JavaScript,二進(jìn)制和十六進(jìn)制時(shí),我留下了深刻的印象。

          我現(xiàn)在不太感興趣了,因?yàn)槲抑繡, c++。一些c#(學(xué)習(xí)更多),JavaScript, Python, Java, HTML, CSS,一些PHP(學(xué)習(xí)更多),SQL,二進(jìn)制,十六進(jìn)制…他們?nèi)匀槐任腋薪?jīng)驗(yàn)和熟練,但我現(xiàn)在明白了,了解很多語言是正常的,是需要做的事情。

          所以總結(jié)來說,關(guān)鍵不在于哪種更好,而在于理解在哪里和什么時(shí)候使用它們。并且,對(duì)于web開發(fā),你應(yīng)該學(xué)習(xí)的最基本的是以下內(nèi)容:

          超文本標(biāo)記語言

          CSS

          JavaScript

          PHP

          JSON (XML替換)

          SQL (MySQL, Oracle, MS SQL是3個(gè)主要的)-小心不同的“口味”

          Python

          對(duì)于一個(gè)職業(yè)來說,以上幾點(diǎn)是絕對(duì)沒有商量余地的。也可以選擇學(xué)習(xí)Java。它對(duì)web應(yīng)用程序很有用。

          者 | Richard MacManus

          譯者 | 核子可樂

          策劃 | Tina


          根據(jù) WordPress 聯(lián)合創(chuàng)始人 Matt Mullenweg 的說法,PHP 的受眾比例急劇下降,疑似受到 WordPress“JavaScript 優(yōu)先”主張的影響。


          TIOBE 編程語言人氣指數(shù)發(fā)布更新,并提出“PHP 的魔力是否正在消散?”的靈魂拷問。今年 4 月,PHP 在 TIOBE 編程語言指數(shù)榜上僅位列第 17,“成為其有史以來的最低排位”。


          暴露 PHP 人氣急劇下滑的還不只是 TIOBE 榜單。在年度 Stack Overflow 開發(fā)者調(diào)查報(bào)告中,PHP 的市場(chǎng)占比也從 2018 年的 30.7%(即受訪者當(dāng)中使用 PHP 的百分比)下降至 2023 年的 18.58%。JetBrains 開發(fā)者生態(tài)系統(tǒng)調(diào)查同樣觀察到類似的趨勢(shì),PHP 占比從 2017 年的 30%下降至 2023 年的 18%。而且最后一項(xiàng)數(shù)據(jù)尤其值得關(guān)注,因?yàn)?JetBrains(以及 WordPress 托管廠商 Automattic)正是 PHP 的最大贊助方之一。


          JetBrains 公布的開發(fā)者調(diào)查結(jié)果




          這種下滑趨勢(shì)在 BuiltWith 上體現(xiàn)得尤其明顯,自 2020 年底以來 PHP 的流行度增長線開始斷崖式跌落。


          BuiltWith 公布的 PHP 趨勢(shì)圖



          截至 2021 年 11 月的一項(xiàng)調(diào)查顯示,PHP 在互聯(lián)網(wǎng)前百萬個(gè)網(wǎng)站中的占比仍在 3 萬以上。但如今兩年多過去,其占比已經(jīng)下滑至 1.5 萬左右。而且截至本文撰稿之時(shí),BuiltWith Quotes 公布的實(shí)際占比數(shù)字為 18.19%。18%這個(gè)比例與 Stack Overflow 及 JetBrains 的調(diào)查發(fā)現(xiàn)高度吻合,因此我們可以基本確定,PHP 在開發(fā)者中的受歡迎程度已經(jīng)從之前的約 30%萎縮至現(xiàn)在的 18%。換言之,在短短兩年之間下降了 40%。


          所以結(jié)論是什么?在過去幾年里到底發(fā)生了什么樣的變化,才導(dǎo)致 PHP 在 Web 編程語言的競(jìng)爭(zhēng)當(dāng)中迅速落敗?

          WordPress 高調(diào)宣布“JavaScript 優(yōu)化”

          可以說,PHP 衰落的最大原因就是 WordPress(迄今為止最具人氣的 Web 內(nèi)容管理系統(tǒng))正在從 PHP 轉(zhuǎn)向 JavaScript。WordPress 聯(lián)合創(chuàng)始人兼 Automattic 公司 CEO Matt Mullenweg 在上月于中國臺(tái)灣召開的 WordCamp Asia 2024 大會(huì)上也就此做出論述。


          他在回答觀眾提問時(shí)表示,“我覺得 WordPress 中的大部分新代碼現(xiàn)在都是由 JavaScript 編寫而成,而且這種趨勢(shì)已經(jīng)持續(xù)了一段時(shí)間。因此從方方面面來講,如今的 Gutenberg 已經(jīng)轉(zhuǎn)化成了一個(gè) JavaScript 優(yōu)先的項(xiàng)目。”


          大家絕沒看錯(cuò):Matt Mullenweg 直言現(xiàn)在的 WordPress 就是個(gè)“JavaScript 優(yōu)先的項(xiàng)目”。而他所提到的 Gutenberg,其實(shí)是該公司備受爭(zhēng)議的全新用戶界面,同時(shí)也是推動(dòng) JavaScript 全面替代 PHP 的主要原因。當(dāng)然,他也承認(rèn)從 PHP 轉(zhuǎn)向 JavaScript“并不容易”。


          WordPress 聯(lián)合創(chuàng)始人 Matt Mullenweg 在 WordCamp Asia 2024 大會(huì)上




          這倒不是說 WordPress 不再依賴于 PHP。畢竟在撰寫本文時(shí),我恰好就是在 WordPress 中以“/wp-admin/post-new.php”結(jié)尾的 URL 輸入這篇文章。但只能說目前如此,未來的 WordPress 已經(jīng)確定要走向另一條道路。


          Mullenweg 還談到,他希望能在 WordPress 中看到進(jìn)一步改進(jìn)——令人驚訝的是,他已經(jīng)開始從 JavaScript 的視角出發(fā)看待這些變化。比如說,PHP 是一種服務(wù)器端腳本語言(意味著代碼通常在 Web 服務(wù)器上處理),而 Mullenweg 希望 WordPress 能使用 JavaScript 把更多操作交由客戶端執(zhí)行。


          他意味深長地表示,“我真心覺得我們應(yīng)該把更多處理任務(wù)留在客戶端。比如對(duì)于正在編輯的內(nèi)容,這部分處理就可以交給客戶端。這種在瀏覽器運(yùn)行 JavaScript 的速度可能會(huì)更快,因?yàn)楝F(xiàn)在虛擬機(jī)和性能極強(qiáng)的處理器已經(jīng)相當(dāng)普遍。”


          在演講即將結(jié)束之時(shí),有觀眾向 Mullenweg 詢問他對(duì) Gutenberg 項(xiàng)目的感受,以及開發(fā)人員為其做出貢獻(xiàn)時(shí)遭遇到哪些困難。提出這個(gè)問題的開發(fā)者還希望“降低 Gutenberg 的抽象級(jí)別”。


          Mullenweg 回應(yīng)稱,“說實(shí)施,我覺得大家必須適應(yīng)這種發(fā)展態(tài)勢(shì)。我認(rèn)為 Gutenberg 的開發(fā)方式和 JavaScript 優(yōu)先理念才是大部分 Web 開發(fā)工作的未來方向。順帶一提,其實(shí)我也得重新學(xué)習(xí),這些東西跟我當(dāng)初熟悉的方式也有區(qū)別。也許我們可以把某些抽象調(diào)整得更簡(jiǎn)單一點(diǎn),但總體而言,我會(huì)選擇深入研究一下。”


          他還補(bǔ)充稱,Gutenberg 項(xiàng)目、包括向 JavaScript 語言的轉(zhuǎn)變,目前還遠(yuǎn)未完成。“在啟動(dòng) Gutenberg 項(xiàng)目時(shí),我們就知道這可能是個(gè)為期 10 年的項(xiàng)目。目前我們才剛剛完成 60%到 70%的工作。”


          與此同時(shí),在 PHP 基金會(huì)這邊……

          不得不承認(rèn),WordPress 項(xiàng)目(也是 PHP 能夠在 Web 領(lǐng)域保持流行的最大動(dòng)因)正堅(jiān)定向著 JavaScript 世界邁進(jìn)。這幾乎必然會(huì)阻止更多年輕開發(fā)者選擇 PHP,同時(shí)迫使其他開發(fā)人員(例如那些致力于服務(wù) WordPress 客戶的開發(fā)人員)從 PHP 轉(zhuǎn)向 JavaScript。


          但好消息是,仍然有相當(dāng)一部分開發(fā)者群體會(huì)繼續(xù)使用 PHP——畢竟兩輪大規(guī)模開發(fā)者調(diào)查中的這 18%對(duì)應(yīng)著相當(dāng)體量的從業(yè)受眾。而 PHP 基金會(huì)將繼續(xù)為他們提供支持。


          PHP 基金會(huì)于 2021 年 11 月正式成立,希望以非營利組織的身份承擔(dān)起 PHP 項(xiàng)目的管理職責(zé)。PHP 基金會(huì)是由 JetBrains 領(lǐng)導(dǎo)的企業(yè)聯(lián)盟所建立,其中包括 Automattic、Zend、Laravel 以及 Acquia(Drupal 的托管商)等。JetBrains 工程師 Roman Pronskiy 則出任項(xiàng)目負(fù)責(zé)人,目前在基金會(huì)網(wǎng)站上的頭銜為“運(yùn)營主管”。


          在今年 2 月的 Laravel 會(huì)議上,Pronskiy 主要探討了技術(shù)問題,同時(shí)也承認(rèn)“PHP 基金會(huì)目前最艱巨的任務(wù),就是扭轉(zhuǎn) PHP 在公眾心目中的形象。”雖然他沒有具體說明是哪些原因?qū)е?PHP 的公眾形象下降,但 Matt Mullenweg 在解釋 WordPress 轉(zhuǎn)向“JavaScript 優(yōu)先”的理由時(shí)已經(jīng)基本給出了答案。無論如何,Pronskiy 正快速投身于 PHP 項(xiàng)目的后續(xù)開發(fā),并為其組織起由 10 名有償開發(fā)者組成的全職團(tuán)隊(duì)。


          PHP 基金會(huì)團(tuán)隊(duì)




          總而言之,2024 年的 PHP 幾乎成了 Web 開發(fā)領(lǐng)域爹不疼、娘不愛的“孤兒”,而 JavaScript 則是在家、在校都備受關(guān)注的寵兒。對(duì) PHP 來說更加可悲的是,目前的這種人氣下滑趨勢(shì)短時(shí)間內(nèi)恐怕無法停止——畢竟 WordPress 那邊的開發(fā)團(tuán)隊(duì)還在積極適應(yīng)新的 JavaScript 規(guī)范。但至少 PHP 基金會(huì)還在為此而努力,也許這股頹勢(shì)能夠逐漸迎來轉(zhuǎn)機(jī)。

          原文鏈接:短短兩年使用率下滑40%!曾經(jīng)風(fēng)靡全球的PHP為何逐漸失去優(yōu)勢(shì)?_編程語言_Richard MacManus_InfoQ精選文章


          主站蜘蛛池模板: 久久国产一区二区| 中文字幕精品无码一区二区| 成人精品一区二区三区校园激情| 波多野结衣一区视频在线| AV天堂午夜精品一区二区三区| 亚洲第一区精品日韩在线播放| 国产成人无码一区二区在线播放| 亚洲大尺度无码无码专线一区| 中文字幕亚洲一区| 国产成人av一区二区三区不卡| 肉色超薄丝袜脚交一区二区| 无码人妻精品一区二区三区9厂 | 亚洲一区在线观看视频| 亚洲高清一区二区三区电影| 国产成人一区在线不卡 | 精品无码中出一区二区| 久久亚洲国产精品一区二区| 国产伦精品一区二区三区视频小说| 国产无线乱码一区二三区| 国产一区二区精品久久岳√| 88国产精品视频一区二区三区| 久久久国产一区二区三区| 日韩色视频一区二区三区亚洲| 日韩AV无码一区二区三区不卡毛片 | 久久久久人妻一区精品果冻| 无码视频免费一区二三区| 国产精品香蕉一区二区三区| 日韩亚洲一区二区三区| 国产亚洲一区区二区在线| 国产亚洲综合精品一区二区三区 | 中文字幕日韩欧美一区二区三区 | 久久精品黄AA片一区二区三区| 视频一区二区在线播放| 日本免费电影一区| 日韩福利视频一区| 视频在线观看一区二区三区| 国产精品亚洲专一区二区三区| 色窝窝无码一区二区三区色欲 | 国产日韩一区二区三区| 99精品国产高清一区二区麻豆| 精品无人乱码一区二区三区|