Facebook переведет свою виртуальную машину HHVM с языка PHP на созданный на его основе Hack. Причина — слабая совместимость PHP 7 и PHP 5, а также наличие у PHP некоторых недостатков, которые устранены в Hack.
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, однако не все. В ряде случаев совместимость с предыдущей версией языка была утеряна, сообщает cnews.ru.
По словам разработчиков, совмещать в HHVM одновременно поддержку PHP 7 и Hack было бы затруднительно — вынужденные компромиссы оказали бы негативное влияние на оба языка. В то время как отдельно Hack можно реализовать в HHVM максимально удачным образом, без оглядки на недостатки архитектуры PHP, от которых сам Hack избавлен практически полностью.
С PHP работает ряд широко известных инструментов для разработки вроде Composer и PHPUnit. Hack поддерживает текущие версии этих инструментов, и отказываться от этой поддержки Facebook не планирует. Однако со временем разработчики намерены создать ряд инструментов, предназначенных именно для работы с Hack. В настоящий момент уже идет разработка библиотеки Hack Standard Library и фреймворка TypeAssert, который будет преобразовывать нетипизированные данные в типизированные. Помимо этого разрабатывается автоматический загрузчик классов, функций и псевдонимов типов.
Компания намерена также развивать сам Hack. В языке появятся структуры данных, похожие на массивы, с простым механизмом контроля соответствия типов. Кроме того, исчезнут деструкторы и ссылки, а также появятся механизмы ликвидации «мусора», повышающие быстродействие.
PHP — это скриптовый язык, популярный среди разработчиков веб-приложений, особенно часто используемый для создания серверной части продукта. Один из самых востребованных языков в разработке динамических сайтов, поддерживается большинством хостингов. Может быть использован для создания GUI-приложений. Имеет широкий набор встроенных средств разработки веб-приложений.
PHP был создан датским программистом Расмусом Лердорфом (Rasmus Lerdorf) в 1995 г. Название языка восходит к словосочетанию Personal Home Page, что переводится как «личная домашняя страница». На PHP оказали влияние другие языки, такие как Perl, C, C++, Java и Tcl. Распространяется под собственной свободной лицензией PHP License. Самым распространенным интерпретатором PHP является виртуальная машина Zend Engine с открытым кодом.