The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Facebook открыл код транслятора из языка Hack в PHP. Обновле..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Facebook открыл код транслятора из языка Hack в PHP. Обновле..."  +/
Сообщение от opennews (??) on 14-Ноя-14, 10:23 
Компания Facebook опубликовала (https://code.facebook.com/posts/398235553660954/announcing-t.../) транслятор Hack Transpiler (h2tp (http://docs.hhvm.com/manual/en/install.hack.h2tp.php)), позволяющий автоматически преобразовать код на языке Hack (http://hacklang.org) в представление на обычном PHP. Язык программирования Hack обратно совместим с PHP и расширяет (https://www.opennet.ru/opennews/art.shtml?num=39368) синтаксис PHP  поддержкой статической типизации и ряда расширенных возможностей, заимствованных из других языков программирования, таких как  обобщения (generics по образу C# и Java), null-значения, коллекции, Lambda-выражения, механизмы асинхронного программирования, составные shape-структуры и средства для переопределения имён типов. Код на языке Hack выполняется с использованием виртуальной машины HHVM (http://hhvm.com/) (HipHop Virtual Machine).


Необходимость создания Hack Transpiler обусловлена тем, что в окружении Hack могут выполняться обычные PHP-скрипты, но не наоборот - код с  расширенными конструкциями и типами Hack не может быть запущен с использованием интерпретатора PHP. Hack Transpiler даёт возможность преобразовать код на языке Hack в вид, совместимый с PHP, т.е. разработчики могут развивать свой продукт с учётом расширений Hack, но для окружений не поддерживающих Hack обеспечить его поставку в форме обычного PHP-проекта. Из-за потери данных о типах сгенерированный PHP-код будет не столь эффективен как Hack, но пригоден для работы  в любых хостинг-окружениях, в которых имеется поддержка PHP. Пользователи которые имеют возможность установить HHVM смогут воспользоваться более эффективным вариантом приложения на языке Hack.


Дополнительно можно отметить доступность (http://php.net/index.php#id2014-11-13-1) корректирующих выпусков языка программирования PHP - 5.5.19 и 5.6.3, в которых устранено 13 (http://php.net/ChangeLog-5.php#5.5.19) и 25 ошибок (http://php.net/ChangeLog-5.php#5.6.3) соответственно. В дополнении Fileinfo устранена уязвимость (CVE-2014-3710), которая может привести к переполнению буфера при получении информации о специально оформленных файлах в формате ELF. В дополнение curl добавлена поддержка констант CURL_SSLVERSION_TLSv1_0, CURL_SSLVERSION_TLSv1_1 и CURL_SSLVERSION_TLSv1_2. В pack() и unpack() реализованы 64-разрядные коды форматирования.

URL: https://code.facebook.com/posts/398235553660954/announcing-t.../
Новость: https://www.opennet.ru/opennews/art.shtml?num=41058

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Facebook открыл код транслятора из языка Hack в PHP. Обновле..."  +2 +/
Сообщение от Аноним (??) on 14-Ноя-14, 10:23 
> Компания Facebook опубликовала транслятор Hack Transpiler (h2tp), позволяющий автоматически преобразовать код на языке Hack в представление на обычном PHP.
> Необходимость создания Hack Transpiler обусловлена тем, что в окружении Hack могут выполняться обычные PHP-скрипты, но не наоборот - код с расширенными конструкциями и типами Hack не может быть запущен с использованием интерпретатора PHP.

Hack Transpiler — не очень подходящее название. "Dirty Hack" лучше бы передало суть, ящитаю.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Facebook открыл код транслятора из языка Hack в PHP. Обновле..."  +/
Сообщение от Аноним (??) on 14-Ноя-14, 10:56 
и 5.4.35
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "Facebook открыл код транслятора из языка Hack в PHP. Обновле..."  +/
Сообщение от Журналовращатель on 14-Ноя-14, 11:08 
Кстати, кто-либо из присутствующих внедрял HHVM или втыкантерский KPHP? Интересно.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "Facebook открыл код транслятора из языка Hack в PHP. Обновле..."  +1 +/
Сообщение от Аноним (??) on 14-Ноя-14, 12:08 
Я пробовал один проект на симфони запустить через hhvm, не заработало.
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

9. "Facebook открыл код транслятора из языка Hack в PHP. Обновле..."  +/
Сообщение от Xaionaro email(ok) on 14-Ноя-14, 14:08 
> Я пробовал один проект на симфони запустить через hhvm, не заработало.

Логи смотрели? :)

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

18. "Facebook открыл код транслятора из языка Hack в PHP. Обновле..."  +/
Сообщение от XoRe (ok) on 15-Ноя-14, 21:24 
>> Я пробовал один проект на симфони запустить через hhvm, не заработало.
> Логи смотрели? :)

А зачем? :)

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

17. "Facebook открыл код транслятора из языка Hack в PHP. Обновле..."  +/
Сообщение от йцу on 15-Ноя-14, 07:55 
> Я пробовал один проект на симфони запустить через hhvm, не заработало.

http://hhvm.com/frameworks/ - тесты на совместимость с разными фреймворками/библиотеками.
Symfony действительно проходит только на 98.66%, и так уже довольно давно. Интересно, что та же доктрина, в которой тонны всякой магии, проходит на 100%.

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

5. "Facebook открыл код транслятора из языка Hack в PHP. Обновле..."  +4 +/
Сообщение от Xaionaro email(ok) on 14-Ноя-14, 12:11 
> Кстати, кто-либо из присутствующих внедрял HHVM

Я внедрял для работы пары наших сайтов. Получил прирост производительности где-то в 3-5 раза (затык был именно со стороны PHP, а не со стороны SQL или чего-либо другого). Жертва — пришлось потратить час рабочего дня на адаптацию кода, так как у HHVM-а более строгие требования к коду, чем у обычного PHP. С тех пор работает и никаких нареканий пока нет.

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

7. "Facebook открыл код транслятора из языка Hack в PHP. Обновле..."  –6 +/
Сообщение от Аноним (??) on 14-Ноя-14, 13:56 
У языка не должно быть затыков. Мог бы переписать на православном питоне и всё бы работало в 10 раз быстрей.
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

8. "Facebook открыл код транслятора из языка Hack в PHP. Обновле..."  +2 +/
Сообщение от Xaionaro email(ok) on 14-Ноя-14, 14:04 
> У языка не должно быть затыков.

Не понял, что вы имели в виду.

> Мог бы переписать на православном питоне и всё бы работало в 10 раз быстрей.

Во-первых, Python не быстрее PHP [1]. В среднем у них примерно одинаковая производительность (посмотрите результаты по другим задачам по ссылке [1]).

Во-вторых, аналогично, глюкавые Python JIT-ы (а-ля PyPy [2]) работают не быстрее HHVM. <captain>А если не использовать JIT у Python (в целях избежания глюков), то тогда он, грубо говоря, будет работать в разы медленее, чем PHP поверх HHVM-а.</captain>

[1] http://benchmarksgame.alioth.debian.org/u64q/benchmark.php?t...
[2] Глюки при интерпретации https://gist.github.com/vladimir-smirnov-sociomantic/2f040b5...


Я не люблю PHP, но хотя бы знаю за что…

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

11. "Facebook открыл код транслятора из языка Hack в PHP. Обновле..."  +1 +/
Сообщение от Xaionaro email(ok) on 14-Ноя-14, 14:35 
>> Кстати, кто-либо из присутствующих внедрял HHVM
> Жертва — пришлось потратить час рабочего
> дня на адаптацию кода, так как у HHVM-а более строгие требования
> к коду, чем у обычного PHP.

P.S.: Кстати говоря, поправки были с повышением безопасности, если я правильно помню. Ибо не работало из-за строк кода, которые потенциально содержали неприятные ошибки.

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

16. "Facebook открыл код транслятора из языка Hack в PHP. Обновле..."  +/
Сообщение от йцу on 15-Ноя-14, 07:50 
HHVM не поддерживает некоторые редко используемые части языка и стандартной библиотеки. Но их постепенно вводят, как например, eval() и create_function(). В основном это действительно не самые нужные вещи, но Facebook видимо хочет формальной 100%-й совместимости с PHP. И получается у них это весьма неплохо.
Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

10. "Facebook открыл код транслятора из языка Hack в PHP. Обновле..."  +1 +/
Сообщение от йцу on 14-Ноя-14, 14:17 
Например, Wikipedia и, похоже, результаты радуют: https://en.wikipedia.org/wiki/Wikipedia:Wikipedia_Signpost/2...

По поводу, KPHP - не смешите. Этот огрызок разве что с каким-нибудь PHP3 совместим (и то, весьма ограничено). Разработчики гордо заявляет, что намерено не стали реализовывать ООП-возможности, но на деле - там не поддерживается ничего кроме самого _базового_ синтаксиса.

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

12. "Facebook открыл код транслятора из языка Hack в PHP. Обновле..."  +/
Сообщение от manster (ok) on 14-Ноя-14, 16:32 
похоже на то
Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

6. "Facebook открыл код транслятора из языка Hack в PHP. Обновле..."  +1 +/
Сообщение от manster (ok) on 14-Ноя-14, 12:38 
Почему-то вспомнилось про бритву Оккама...
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

13. "Facebook открыл код транслятора из языка Hack в PHP. Обновле..."  –1 +/
Сообщение от Аноним (??) on 14-Ноя-14, 18:06 
дело "за малым" написать препроцессор/компилятор PHP-кода в C++.
или просто научить стафф фэйсбука - нормальными ЯП, пользоваться.
то есть - нанять нормальный HRM для начала/эффекта надо было. на не вбухивать потом мегабаксы, пытаясь латать самую Суть своих проблем - КАДРЫ.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

14. "Facebook открыл код транслятора из языка Hack в PHP. Обновле..."  +/
Сообщение от Аноним (??) on 14-Ноя-14, 21:59 
> дело "за малым" написать препроцессор/компилятор PHP-кода в C++.

Ты не поверишь, но фейсбук уже написал компилятор пыха в С++. HHVM называется.

Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

15. "Facebook открыл код транслятора из языка Hack в PHP. Обновле..."  +/
Сообщение от йцу on 15-Ноя-14, 07:44 
HHVM - не транслирует PHP в C++. Это виртуальная машина, похожая на JVM. Транлятором был HPHPc, который частично лёг в основу HHVM.
Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2022 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру