Русская Википедия:HipHop (транслятор)

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Шаблон:Другие значения Шаблон:Нужна статья Шаблон:Infobox software Шаблон:Infobox software HipHop for PHP (HPHPc, букв. HipHop для языка PHP) — транспайлер исходного кода, созданный компанией Meta Platforms и использовавшийся ранее в проектах компании. HipHop программно превращает исходный код, написанный на языке PHP, в оптимизированный код на C++, а затем использует компилятор g++ для его компиляции. HipHop включает в себя транслятор кода, альтернативную реализацию среды выполнения PHP, а также множество наиболее распространённых расширений PHP (Шаблон:Lang-en), переписанных на C с целью повышения производительности[1].

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

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

HHVM

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

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

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

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

См. также

Примечания

Шаблон:Примечания

Литература

Ссылки

Шаблон:PHP Шаблон:FOSS Шаблон:Facebook navbox