日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

對于一門古老的語言來說,支撐未來技術的東西不是與時俱進嗎?

 

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

  • 過去,PHP 沒有修復它的問題,所以其它語言變得更有吸引力。
  • 現在,PHP 缺乏當前互聯網所需的特性。
  • 將來,PHP 仍然不會有有意義的特性。

 

請注意,我從來沒有寫過“垂死”、“不要用它”,甚至“現在就放棄你的 PHP 項目!”。我只是說它會在 2030 之前的任何時候變得不再有意義,并對此為什么會發生做了的一個簡單的解讀。

 

考慮到 PHP 龐大的用戶基礎,一些指出 PHP 缺點的文章,往往會引爆一些狂熱者。他們認為 PHP 是完美的,僅僅因為它很方便,或者因為他們花了 10 多年時間使用 PHP。我的文章也不例外。不管如何,我決定把它從消極的陰云中拉出來,給予更多思考。

 

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

首先說明,我對 PHP 或者任何語言都沒有個人恩怨。我認為它是一個非常成熟的工具,當我需要“昨天”的東西時,它也是我最喜歡使用的東西,因為它作為解釋型語言非常方便,而且生態系統就在那里。

 

這也與代碼質量無關。你不能因為開發人員沒有“正確地”使用一種語言,而責怪它,至少不能全怪。不論你的福特或蘭博基尼多么炫酷:如果你不關心它,維護就會很痛苦。

 

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

 

先不說“是否被重要公司使用”——稍后再談。JavaScript對于SpaceX的任務已經非常關鍵,所以顯然它不是一種糟糕的語言,否則宇航員的生命就面臨風險。

 

只是現在,PHP 變成了一個只會玩一種把戲的小馬。這門語言以蓬勃發展的 web 開發聞名,但官方不愿采取進一步措施。而其它語言已經在進一步改進了。那是死亡的奧秘。

語言會“死”嗎?

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

 

幾十年前,銀行和保險公司背后的一些老的金融系統都是用 COBOL 編程的。世界各地的許多金融機構仍在他們的大型機中使用 COBOL,主要的一個原因是:它仍然工作。這一點的證明是,由于流行病的爆發,COBOL雇傭人數突然增加,以維持這些來自世界各地的不斷受到沖擊的古老系統。

 

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

 

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

 

在企業文化中,如果你的技術棧沒有使公司“損失”任何錢,那就沒關系了。否則,你就會像亞馬遜因為他們自己的AWS數據庫而拋棄了甲骨文一樣。

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

COBOL 沒有死,它只是“淡出了”:沒有一個頭腦正常的人會使用 COBOL 啟動一個新項目,因為有更好的工具。這些工具擁有更高的性能、更好的可靠性、更方便編程或者有用的特性。在 COBOL 時代,還沒有 HTTP 協議、多線程和虛擬化等當今軟件所使用的其它有用技術。

 

當人們不再在新項目中使用一種語言時,多米諾骨牌開始倒塌。針對這種語言的工具不再誕生和維護。由于沒有需求,語言不再引入新特性,社區不再創造新的工具集,它不再傳播到其它生態系統中——比如 Node.js 出現在服務器端。沒有新的程序員學習這門語言,已經學習這門語言的程序員遷移到了“更綠色的牧場”。

 

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

 

COBOL 的情況與 Visual Basic、ASP .Net、Pascal、Fortran、ActionScript、Objective C、Haskell、Ruby 等許多其它服務端語言一樣。它們完成了它們的技術周期,更好的語言用更多特性和工具集,或者更少的煩惱,取代了它們,就像 PHP 在 2000 年代中期針對互聯網做的那樣。一旦 Rust 成為 linux 內核開發的標準,它也很可能發生在 C 和 C++中。

 

與其它替代語言相比,PHP 的崛起主要與 wordPress/ target=_blank class=infotextkey>WordPress 的首次出現和 PHP 在服務器領域的易賣性有關。特別是那些需要被編譯成二進制的語言,即使這些替代語言有更多的特性或更好的性能,而 PHP 曾經兩者都缺乏。正是因為 Wordpress 的崛起,媒體巨頭們害怕自己的作品被“一個有博客的家伙”扼殺,于是接受了這一趨勢,開始使用 Wordpress 來增強他們的互聯網影響力。Wordpress甚至為這些公司提供了VIP模式。

 

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

 

盡管如此,PHP 仍然是能夠支持網站開發的屈指可數的語言之一。隨著越來越多的人參與進來,社區和官方都推出了工具:Opcache 用于 I/O 性能處罰、PDO 用于通用數據庫層、Autoloader 用來使大型項目更易管理、Composer 用于依賴部署、PSR 用于標準化代碼規范、PHPUnit 用于測試、PECL 用于擴展等等。

 

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

 

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

 

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

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

結合上下文,看看W3Tech對PHP的看法,你會發現 PHP 仍然因為被使用地最多而主導著因特網,但不是在100%的真實流量上,而是在頭部網站上,包括非美國平臺。換句話說,如果 Facebook 使用了一個 PHP 腳本,那并不意味著整個平臺都是基于 PHP 的——以及會更多地在該公司上。

 

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

PHP“垂死”十年

 

由 W3Techs.com 收集的網站使用的服務端編程語言的比例

 

以上說明:PHP 仍然是任何 web 項目都要考慮的工具。到目前為止,Wordpress 是 PHP 的巔峰之作。仍然有新的網站正在使用 PHP 創建。當 PHP 滿足所有的復選框時,一兩個人建立一個互聯網公司仍然是完全正常的...直到它不能滿足所有條件。

 

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

 

Hack 只是大公司的未來,因為他們一開始就能燒錢運行 HHVM...

 

因為有很多工作要做,所以從一種語言過渡到多種語言,或者將服務推給向你提供所需功能的公司,比如讓Mux處理視頻平臺,讓Pusher處理事件傳播,已經成為一種常態。有人可能說你是花錢圖方便,但也有人會說你付錢是因為你的技術棧無法處理這些問題。

 

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

 

PHP 項目與其它 SaaS 或者基于 Node.js、Python、Go 或 Rust 編寫的運行時結合在一起就不足為奇,添加另一個要維護的代碼庫或應用程序。這可能弊大于利,因為你必須為項目的每個部分處理兩個(或更多)部署方案。

 

雖然有少數人能夠處理所有事情,但向一個人提供合同的可能性非常小,主要是因為能處理所有事情的人很少,而且也不便宜。

 

“但是這個偉大的公司使用 PHP”

我經常聽到的一句話是“但是 Facebook 使用 PHP”,好像它是一種蓬勃發展的 Web 技術。以 PHP 起家的頂級公司已經明確表示,Hack 及 HHVM——“現代化 PHP 但消耗內存”——是公司的后續措施:

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

 

注意,我強調了“企業后續措施”。Hack 就是未來?事實上,Hack 只是大公司的未來,因為他們一開始就有錢運行 HHVM,而且他們不想遷移 90%的代碼。剩下的非百萬富翁公司只能使用 PHP 和廉價的服務器。

任何一家擁有大筆資金的公司都可以為自己的利益創造自己的語言,就像 Facebook、Apple、google 和 Mozilla 那樣,因為他們有人、有頭腦去做,有服務去實現。無論好壞,我們只是附帶的。

 

擁有一門內在需求穩定的語言可以讓它進步,即使有時這意味著做出不太好的決定。

它足夠了,直到它不能

有時候說“你不能在 PHP 上做那件事”有點兒讓人難過。新的JIT引擎很受歡迎,但它并不是將它與其它新興語言相結合的靈丹妙藥。性能過去是 PHP 的一個非常重要的問題,但現在它不是唯一的問題?;ヂ摼W在發展,而 PHP 沒有。

PHP“垂死”十年

 

圖片來源:Carl Heyerdahl on Unsplash

 

如今,網頁只是起點。正在發生的 COVID-19 大流行表明,你需要系統針對不同數據類型的不斷變化的狀態做出反應。如今,PHP 還不夠,當它足夠的時候——看看最近的發展有多慢——開發人員將擁有更好的工具。沒人會等著 PHP 實現自身的現代化,也沒有企業會這樣做。這就是所謂的進步:新工具取代老工具。

 

當你需要的不僅僅是顯示一個具有基本交互的網頁時,問題就出現了。就在那時,PHP 展示了其二十多年的歷史,它是如何與當今的技術和產品需求脫節。

 

我肯定不是唯一一個等了足夠時間讓 PHP 成為一個像樣的技術競爭對手的人。從業務邏輯的角度來看,PHP 非常方便,因為它的語法允許在專家手中非常有表現力的聲明操作,特別是在“業務邏輯”部分,但它不是萬能的。

 

PHP 是現在,但不是未來。

 

我認為這些段落表明 PHP 因為其本質而仍然是王者。沒有哪一種語言在提供便利和成熟的同時獲得如此大的吸引力,而不是功能——另外,就是 Wordpress 效應。

 

PHP 如何將被淘汰?每個人只需點擊幾下就可以創建它們自己的簡介、商店、圖片庫、云存儲、群聊等等;無需托管,無需服務器和代碼。

 

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

也許是 PHP 9?

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

 

并不是說 PHP 明天就會停止使用:它仍然工作,而且很容易掌握,因為總有一個MVP可以開始,它不需要花里胡哨的東西。只不過,PHP 是現在,而不是未來,負責這一點的人其實并不在乎。也許一旦一種新的語言出現,提供 PHP 和其它語言中最好的部分。Hack 剛剛證明了公司級 PHP 有很好的代碼重用市場。

 

一旦下一個大事件席卷互聯網,PHP 就來不及趕上了。

 

沒有語言會完全死掉。PHP 沒死,只是其它語言已經超越了它。當然,它們不像 PHP 那樣經過戰斗測試...但他們正在實現。

 

當你認為人類對未知事物有固有的恐懼時,就會很容易同情那些被告知嘗試另一種工具時的語言狂熱者的憤怒。這適用于走出舒適區進入新事物,在本例中,這是從一種可靠的語言(如 PHP)遷移到更適合您需求的其它語言。沒有人會因為僅僅“浪費”一周或一個月去學習和了解新的生態系統而死掉。最壞的情況是,你學會了不再去哪里,就像你選錯了度假目的地。

 

通過多年的軟件開發解決問題,我認識到,走向(而不是跑向)技術的地平線是工作的一部分,即使這意味著接受我們曾經熱愛的東西走向命中注定...

 

...未完待續。

分享到:
標簽:PHP
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定