我不確定從什麼時候開始,越來越多的程式設計師從 PHP 轉向 Go、Java 和 Python。當然,後三者之間也存在遷移,但很少看到有人轉向 PHP。這個現象引起了我的思考,我意識到 PHP 確實是完美的替罪羔羊。也許是因為它的標誌是大象,所以它天生就更能負重。
當系統不斷在線上出現問題時,就是 PHP 的錯。需要驗屍的時候,要有人來承擔責任,總不能是我們自己無能吧?所以,我們把責任歸咎於 PHP。畢竟,它不會反駁。 PHP 是一種限制寬鬆的動態語言,常常會留下未被注意到的陷阱。我們肯定需要重構。
如果重構的人是最初編寫程式碼的人,那麼無論使用何種語言,結果都可能是相同的。他們只是用新語言重寫舊程式碼,而不質疑他們最初的設計是否有缺陷。
有些人甚至以PHP 的思維方式編寫Go 或Java 程式碼:在main 方法中手動初始化一堆東西,在Go 中定義大量的map[string]interface{},或使用多執行緒存取Java 中的類屬性,而無需鎖定。
當伺服器成本居高不下時,這是 PHP 效能不佳和單執行緒執行的錯。老實說,擁有大量流量的公司並不多。大多數人甚至一天都沒有獲得那麼多點擊。如果效能是一個問題,很可能是由於一堆持續運行的緩慢查詢造成的。切換到 C++ 或 RUST 並不能神奇地解決這個問題。
請記住,PHP 是 Facebook 用於建立動態網站內容和伺服器端功能的最初語言。我懷疑很多公司的流量都超過 Facebook。
新領導打掃也很常見。很多人在網路上問為什麼公司的系統會使用三種不同的程式語言。通常的答案都是圍繞著每種語言適合不同的任務,但真正的原因往往是公司多次更換 CTO,並且每個人都引入了自己喜歡的語言。
當新的技術總監到來時,他們經常會嘗試清理舊團隊。在此期間,PHP 因各種問題而受到指責,據稱阻礙了未來的業務發展和 IPO 計劃。無論開發語言如何,都會使用這種策略來證明消除異議的合理性。
當 PHP 受到指責並建議改用另一種語言時,有些程式設計師甚至可能會歡呼。嘗試將 Java 切換到 Go,反之亦然;這是同一個故事。去年,我們的新 CTO 讓我們從 Go 轉向 Java,一些同事在匿名論壇上發洩,聲稱這是一種倒退。
事實上,如果新領導者看到 Java,他們可能會讓你轉向 Go。徹底改革技術堆疊只是清理內部的一種方式,保留合規的團隊成員,同時擺脫那些不符合新方向的人。
即使沒有新的技術領導者,在這個KPI驅動、痴迷OKR的時代,每個人都必須找到工作來證明自己的存在。你還能如何表明你的團隊正在努力工作,每天都加班到很晚?
PHP 成為完美的墊腳石。經理可以向上級推銷遺留的 PHP 系統需要使用最新的高階語言進行改造,並將任務分配給可靠的人。這樣,即使不能保證晉升,高績效評等幾乎是肯定的。
總之,這些是我對為什麼 PHP 經常成為替罪羔羊的想法和個人看法。這種分析可能不適用於真正的技術驅動型公司。人們喜歡比較程式語言,但最好的一種是適合您需求的語言。比較語言就像對運動明星進行排名一樣;它大多是主觀的,但它會產生興趣和流量,從而支持很多人。
最後推薦一個我一直在使用的PHP開發環境-ServBay。它是一款一體化開發環境管理工具,附帶多種程式語言和資料庫元件,包括 PHP、Node.js、MariaDB (MySQL) 和 PostgreSQL。 ServBay最重要的特點是支援在本地開發中使用不存在的網域(Domain)和後綴(TLD)。它甚至為這些網域創建免費的 SSL 證書,允許開發人員在加密的 HTTPS 環境中工作(例如 https://api.servbay)。這不僅增強了開發過程的安全性,還大大節省了對網域和 SSL 憑證的投資。
以上是PHP,網路上最喜歡的替罪羔羊的詳細內容。更多資訊請關注PHP中文網其他相關文章!