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

Поделись знанием:
Перейти к: навигация, поиск
HipHop for PHP (HPHPc)
Разработчик

Facebook

Написана на

C++, C, PHP

Первый выпуск

2010-2-2; 5168 дней тому назад[1]

Последняя версия

Заменён на HHVM[2][3] (2013-03-28; 4018 дней тому назад)

Состояние

Разработка прекращена

Лицензия

PHP License

К:Википедия:Статьи без изображений (тип: не указан)К:Программное обеспечение, разработанное в 2010 году
HipHop Virtual Machine (HHVM)
Разработчик

Facebook

Написана на

C++, C

Первый выпуск

2011-12-09; 4493 дня тому назад[4]

Последняя версия

3.13.0[5] (2016-03-31; 2919 дней тому назад)

Состояние

Active

Лицензия

PHP License and Zend License[6]

Сайт

[www.hhvm.com m.com]

К:Википедия:Статьи без изображений (тип: не указан)К:Программное обеспечение, разработанное в 2011 году

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

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

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

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

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





См. также

Напишите отзыв о статье "HipHop (транслятор)"

Примечания

  1. Haiping Zhao. [www.facebook.com/notes/facebook-engineering/hiphop-for-php-move-fast/280583813919 HipHop for PHP: Move Fast]. Facebook (2 февраля 2010). Проверено 2 августа 2014.
  2. Drew Paroski. [www.facebook.com/notes/facebook-engineering/speeding-up-php-based-development-with-hiphop-vm/10151170460698920 Speeding up PHP-based development with HHVM]. Facebook (29 ноября 2012). Проверено 2 августа 2014.
  3. Paul Tarjan. [hhvm.com/blog/575/joining-retirement-testing-and-bankruptcy Joining, Retirement, Testing, and Bankruptcy] (13 мая 2013). Проверено 2 августа 2014.
  4. Jason Evans. [www.facebook.com/notes/facebook-engineering/the-hiphop-virtual-machine/10150415177928920 The HipHop Virtual Machine]. Facebook (2011-12-09.mdy.2024). Проверено 2014-08-02.mdy.2024.
  5. [github.com/facebook/hhvm/releases/tag/HHVM-3.13.0 facebook/hhvm: Release HHVM-3.13.0]. Facebook (2016-03-31.mdy.2024). Проверено 2016-03-31.mdy.2024.
  6. [github.com/facebook/hhvm#license facebook/hhvm: License]. Facebook. Проверено 2014-08-02.mdy.2024.
  7. [developers.facebook.com/blog/post/2010/02/02/hiphop-for-php--move-fast/ HipHop for PHP: Move Fast] (англ.)
  8. [www.nytimes.com/external/readwriteweb/2010/02/03/03readwriteweb-php-creator-asks-is-facebooks-hiphop-just-a-90057.html PHP Creator Asks, Is Facebook’s HipHop Just a 'Nifty Trick'?] (англ.)
  9. [habrahabr.ru/post/85092/ Сборка и запуск HipHop-PHP]
  10. Julien Verlaguet, Alok Menghrajani. [code.facebook.com/posts/264544830379293/hack-a-new-programming-language-for-hhvm/ Hack: a new programming language for HHVM], facebook code (20 марта 2014). Проверено 24 марта 2014.
  11. [hacklang.org g.org] — официальный сайт языка Hack
  12. [github.com/hhvm/hack-langspec/blob/master/spec/00-specification-for-hack.md Specification for Hack]. github. Проверено 22 февраля 2015.
  13. Joel Marcey. [hhvm.com/blog/8537/announcing-a-specification-for-hack Announcing a Specification for Hack], HHVM Blog (February 19, 2015). Проверено 22 февраля 2015.
  14. [www.opennet.ru/opennews/art.shtml?num=41409 Проект Wikipedia перешёл на использование HHVM для выполнения PHP-кода], OpenNET (07.01.2015). Проверено 22 февраля 2015.
  15. Brett Simmers. [hhvm.com/blog/7205/wikipedia-on-hhvm Wikipedia on HHVM], HHVM Blog (January 6, 2015). Проверено 22 февраля 2015.
  16. [www.mediawiki.org/wiki/HHVM HHVM — MediaWiki]. Проверено 22 февраля 2015.

Литература


Ссылки

  • [github.com/facebook/hiphop-php/ Репозиторий проекта] // Страница Facebook на GitHub  (англ.)
  • [www.3dnews.ru/software-news/facebook_perepisivaet_php/ Facebook переписывает PHP] // 3Dnews, 04.02.2010
  • [lenta.ru/news/2010/02/03/hiphop/ Facebook превратил PHP в C++] // Lenta.ru, 3 февраля 2010
  • [www.ustream.tv/recorded/4409735 Facebook Technology Tasting — HipHop for PHP] // Ustream.tv — видеолекция, посвященная проекту  (англ.)
  • [www.3dnews.ru/software-news/hiphop_ot_facebook_prevrashaet_php_v_cpp/ «Хип-хоп» от Facebook превращает PHP в С++] // 3DNews, 08.02.2010


Отрывок, характеризующий HipHop (транслятор)

Князь Андрей любил танцовать, и желая поскорее отделаться от политических и умных разговоров, с которыми все обращались к нему, и желая поскорее разорвать этот досадный ему круг смущения, образовавшегося от присутствия государя, пошел танцовать и выбрал Наташу, потому что на нее указал ему Пьер и потому, что она первая из хорошеньких женщин попала ему на глаза; но едва он обнял этот тонкий, подвижной стан, и она зашевелилась так близко от него и улыбнулась так близко ему, вино ее прелести ударило ему в голову: он почувствовал себя ожившим и помолодевшим, когда, переводя дыханье и оставив ее, остановился и стал глядеть на танцующих.


После князя Андрея к Наташе подошел Борис, приглашая ее на танцы, подошел и тот танцор адъютант, начавший бал, и еще молодые люди, и Наташа, передавая своих излишних кавалеров Соне, счастливая и раскрасневшаяся, не переставала танцовать целый вечер. Она ничего не заметила и не видала из того, что занимало всех на этом бале. Она не только не заметила, как государь долго говорил с французским посланником, как он особенно милостиво говорил с такой то дамой, как принц такой то и такой то сделали и сказали то то, как Элен имела большой успех и удостоилась особенного внимания такого то; она не видала даже государя и заметила, что он уехал только потому, что после его отъезда бал более оживился. Один из веселых котильонов, перед ужином, князь Андрей опять танцовал с Наташей. Он напомнил ей о их первом свиданьи в отрадненской аллее и о том, как она не могла заснуть в лунную ночь, и как он невольно слышал ее. Наташа покраснела при этом напоминании и старалась оправдаться, как будто было что то стыдное в том чувстве, в котором невольно подслушал ее князь Андрей.
Князь Андрей, как все люди, выросшие в свете, любил встречать в свете то, что не имело на себе общего светского отпечатка. И такова была Наташа, с ее удивлением, радостью и робостью и даже ошибками во французском языке. Он особенно нежно и бережно обращался и говорил с нею. Сидя подле нее, разговаривая с ней о самых простых и ничтожных предметах, князь Андрей любовался на радостный блеск ее глаз и улыбки, относившейся не к говоренным речам, а к ее внутреннему счастию. В то время, как Наташу выбирали и она с улыбкой вставала и танцовала по зале, князь Андрей любовался в особенности на ее робкую грацию. В середине котильона Наташа, окончив фигуру, еще тяжело дыша, подходила к своему месту. Новый кавалер опять пригласил ее. Она устала и запыхалась, и видимо подумала отказаться, но тотчас опять весело подняла руку на плечо кавалера и улыбнулась князю Андрею.
«Я бы рада была отдохнуть и посидеть с вами, я устала; но вы видите, как меня выбирают, и я этому рада, и я счастлива, и я всех люблю, и мы с вами всё это понимаем», и еще многое и многое сказала эта улыбка. Когда кавалер оставил ее, Наташа побежала через залу, чтобы взять двух дам для фигур.
«Ежели она подойдет прежде к своей кузине, а потом к другой даме, то она будет моей женой», сказал совершенно неожиданно сам себе князь Андрей, глядя на нее. Она подошла прежде к кузине.
«Какой вздор иногда приходит в голову! подумал князь Андрей; но верно только то, что эта девушка так мила, так особенна, что она не протанцует здесь месяца и выйдет замуж… Это здесь редкость», думал он, когда Наташа, поправляя откинувшуюся у корсажа розу, усаживалась подле него.
В конце котильона старый граф подошел в своем синем фраке к танцующим. Он пригласил к себе князя Андрея и спросил у дочери, весело ли ей? Наташа не ответила и только улыбнулась такой улыбкой, которая с упреком говорила: «как можно было спрашивать об этом?»
– Так весело, как никогда в жизни! – сказала она, и князь Андрей заметил, как быстро поднялись было ее худые руки, чтобы обнять отца и тотчас же опустились. Наташа была так счастлива, как никогда еще в жизни. Она была на той высшей ступени счастия, когда человек делается вполне доверчив и не верит в возможность зла, несчастия и горя.

Пьер на этом бале в первый раз почувствовал себя оскорбленным тем положением, которое занимала его жена в высших сферах. Он был угрюм и рассеян. Поперек лба его была широкая складка, и он, стоя у окна, смотрел через очки, никого не видя.
Наташа, направляясь к ужину, прошла мимо его.
Мрачное, несчастное лицо Пьера поразило ее. Она остановилась против него. Ей хотелось помочь ему, передать ему излишек своего счастия.
– Как весело, граф, – сказала она, – не правда ли?
Пьер рассеянно улыбнулся, очевидно не понимая того, что ему говорили.