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