曾經號稱超官方9倍性能的HHVM將停止支持PHP

曾經號稱超官方9倍性能的HHVM將停止支持PHP

作者 | HHVM 官方博客

出處丨聊聊架構

HHVM 是由 Facebook 開發的一個 PHP 虛擬機,它支持所有的 PHP 語法,並可以無縫切換到官方的 PHP 版本,宣稱比官方版本快 9 倍之多。近日,HHVM 官方博客宣佈,HHVM v3.30 將是 HHVM 支持 PHP 的最後一個版本。

關鍵日期:

  • 2018-12-03:PHP 代碼在此日期之後停止使用 master 分支和 nightly build
  • 2018-12-17:v3.30.0 的發佈日期
  • 2019-01-28:v4.0.0 的發佈日期,不支持 PHP
  • 2019-11-19:結束對 v3.30 的支持

以下內容為官方網站新聞的全文翻譯。

Facebook 對 PHP 的偏愛眾所周知。追溯到 Facebook 的創建初期,PHP 支撐起了該公司的很多產品。PHP 的一大優勢是,它是一種動態語言,非常適合快速建立原型,但是動態特性也往往會導致大規模代碼庫開發和維護的複雜化。為處理這些問題,Facebookd 就發佈了 Hack 語言——一種希望在保持 PHP 優勢的同時通過所謂的“漸變類型(gradual-typing)”和一些新語言特性加以增強的新編程語言。

和 Facebook 的 PHP 代碼一樣,Hack 也運行在 Facebook 的 Hip Hop 虛擬機 HVVM 上,HVVM 使用即時編譯技術(JIT)來提升程序性能。

我們建議你將現有的 PHP 項目完全遷移到 Hack 語言,或完全遷移到 PHP 7 和 PHP 運行時。

我們希望對 PHP 代碼的支持能夠快速取得突破:例如,我們可能會使用 inout 參數替換引用參數(&$ foo),讓 INT64_MAX + 1 === INT64_MIN(而不是浮點數)。在短期內,我們希望代碼遷移能夠簡單一些,但這要求 fork 使用 PHP 編寫的依賴項,並將其遷移到 Hack,或者反過來。

我們非常感謝 PHP 的用戶和開發人員,並很高興成為社區的一員。

Hack 的未來

我們為 Hack 感到自豪,但這門語言仍然有很多需要做出重大改進的地方。在接下來的兩到三年內,我們將努力讓 Hack 成為一門:

  • 靜態類型語言;
  • 具備與動態類型語言相關的開發速度和易用性。

在這兩到三年的時間內,增長用戶群並非我們的主要目標:我們希望大多數人第一次接觸到 Hack 時,就讓他們看到 Hack 是一門非常先進的語言。當然,我們將繼續增加對 Hack/HHVM 的開源投入,繼續支持我們現有的用戶,並打算建立一個可以更好支持未來增長的社區。

我們期望這門語言能夠快速發展,所以我們強烈建議在大型項目中使用常規版本而不是 TS 版本。雖然這個意味著你需要更頻繁地升級,但我們和我們的用戶都發現,每兩個月進行一次升級比六個月進行一次升級來得更容易一些。我們還會對發佈週期的長度進行重新評估,一種可能性是我們將每四周發佈一次,並提供六到八週的支持。

在這段時間內,GitHub 上大多數 Hack 庫和工具都只針對最新版本,而不是 LTS 版本。我們將根據需要創建分支和修復程序,除了通過 Facebook 白帽子計劃報告的安全問題外,這些分支將由社區提供支持。

Hack 2018 年開源計劃

Hack/HHVM 開源團隊的優先事項是支持現有的用戶,並減少因移除 PHP 所帶來的痛點。這可能涉及創建額外的項目,並整理若干現有項目,以便達到適合發佈 v1.x 版本的狀態。

目前的計劃包括:

  • hh-apidoc:提高易用性,與現有項目集成,改進生成文檔的可讀性和格式;
  • hacktest:改進易用性、文檔,作為現有項目中 PHPUnit 的替代品;
  • hack-router、hack-router-codegen:移除對 PSR-7 的依賴,重新思考當前的 API 設計,改進文檔
  • 我們正在調研如何替換 Composer 和 Packagist,目前看來,可能會對 Yarn 進行擴展,使用 NPM 存儲庫,目標是為 Web 項目的 JS 和 Hack 部分使用單個包管理器。

英文原文:https://hhvm.com/blog/2018/09/12/end-of-php-support-future-of-hack.html


分享到:


相關文章: