Facebook перестанет использовать язык PHP в своей виртуальной машине Hip Hop Virtual Machine (HHVM), которая предназначена для выполнения программ, написанных на этом языке. Теперь HHVM будет работать с Hack — другим языком, в основе которого лежит PHP. Основной причиной отказа от PHP в HHVM стала слабая совместимость PHP 7 с PHP 5. Версия HHVM 3.24, выпуск которой запланирован на начало 2018 г., станет последним релизом движка, поддерживающим PHP 5.
Версия PHP 7 последовала сразу за PHP 5, без промежуточной PHP 6. В язык были внесены серьезные изменения, в том числе ликвидированы многие недостатки PHP 5, однако не все. В ряде случаев совместимость с предыдущей версией языка была утеряна.
По словам разработчиков, совмещать в HHVM одновременно поддержку PHP 7 и Hack было бы затруднительно — вынужденные компромиссы оказали бы негативное влияние на оба языка. В то время как отдельно Hack можно реализовать в HHVM максимально удачным образом, без оглядки на недостатки архитектуры PHP, от которых сам Hack избавлен практически полностью.
С PHP работает ряд широко известных инструментов для разработки вроде Composer и PHPUnit. Hack поддерживает текущие версии этих инструментов, и отказываться от этой поддержки Facebook не планирует. Однако со временем разработчики намерены создать ряд инструментов, предназначенных именно для работы с Hack. В настоящий момент уже идет разработка библиотеки Hack Standard Library и фреймворка TypeAssert, который будет преобразовывать нетипизированные данные в типизированные. Помимо этого разрабатывается автоматический загрузчик классов, функций и псевдонимов типов.
Компания намерена также развивать сам Hack. В языке появятся структуры данных, похожие на массивы, с простым механизмом контроля соответствия типов. Кроме того, исчезнут деструкторы и ссылки, а также появятся механизмы ликвидации «мусора», повышающие быстродействие.
Горячие темы