HipHop (транслятор)

HipHop for PHP (HPHPc, букв. HipHop для языка PHP) — транспайлер исходного кода, созданный компанией Meta Platforms и использовавшийся ранее в проектах компании. HipHop программно превращает исходный код, написанный на языке PHP, в оптимизированный код на C++, а затем использует компилятор g++ для его компиляции. HipHop включает в себя транслятор кода, альтернативную реализацию среды выполнения PHP, а также множество наиболее распространённых расширений PHP (англ. PHP Extensions), переписанных на C с целью повышения производительности[7].

HipHop был создан разработчиками социальной сети Facebook для экономии ресурсов их серверов. Код было решено выпустить 2 февраля 2010 года в виде открытого ПО[8]. Однако релиз кода был задержан из-за проблем с очисткой исходного кода от специфичных для Facebook расширений. Исходный код проекта стал доступен 20 февраля 2010 года[9].

Ими же был разработан HPHPi, представляющий собой экспериментальный интерпретатор PHP, предназначенный для отладки и быстрого прототипирования кода, не полностью совместимый с HPHPc. Интерпретатор разрабатывался с целью экономии затрат времени на частую перекомпиляцию программного кода в процессе разработки.

Общие сведения
HipHop for PHP (HPHPc)
Тип среда выполнения и транслятор
Разработчик Meta Platforms
Написана на C++, C, PHP
Первый выпуск 2 февраля 2010; 16 лет назад (2010-02-02)[1]
Последняя версия Заменён на HHVM[2][3] (2013; 13 лет назад (2013))
Репозиторий github.com/facebook/hiph…
Состояние Разработка прекращена
Лицензия PHP License
Сайт github.com/facebook/hiph…
HipHop Virtual Machine (HHVM)
Тип среда выполнения и транслятор
Разработчик Meta Platforms
Написана на C++, C
Первый выпуск 9 декабря 2011; 14 лет назад (2011-12-09)[4]
Последняя версия 4.167.0[5] (24 августа 2022; 3 года назад (2022-08-24))
Репозиторий github.com/facebook/hiph…
Состояние активное
Лицензия PHP License and Zend License[6]
Сайт hhvm.com

HHVM

В 2011-ом году в Meta Platforms (в то время Facebook) была разработана первая версия HHVM — экспериментальной виртуальной машины, на тот момент предназначавшейся для исполнения и JIT оптимизации PHP кода. Наличие HHVM, в частности, позволило отказаться от параллельного использования интерпретатора HPHPi (в процессе разработки) и компилятора HPHPc (при эксплуатации). В 2013-ом году сервера facebook.com были переведены на использование HHVM[10].

20 марта 2014 года Meta Platforms был официально представлен язык программирования Hack[11], близкий к PHP и реализованный поверх HHVM, в котором дополнительно введена статическая типизация[12]. Первый вариант спецификации этого языка[13] опубликован 19 февраля 2015 года[14].

6 января 2015 года был окончен 9-месячный процесс перевода на использование HHVM серверов проекта Wikipedia, в ходе которого была проделана дополнительная работа по доработке HHVM[15][16][17].

В сентябре 2017 года Meta Platforms объявила[18], что более не ставит своей целью обеспечение совместимости HHVM с PHP (в пользу собственного языка Hack). В том же месяце началась миграция проекта Wikipedia на PHP 7[19].

См. также

Примечания

Литература

Ссылки