Facebook открыл код транслятора из языка Hack в PHP. Обновление PHP 5.6.3, 5.5.19 и 5.4.35

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

14 ноября 2014 года

Wikinews-logo-ru.svg

Компания Facebook опубликовала транслятор Hack Transpiler ( h2tp), позволяющий автоматически преобразовать код на языке Hack в представление на обычном PHP. Язык программирования Hack обратно совместим с PHP и расширяет синтаксис PHP поддержкой статической типизации и ряда расширенных возможностей, заимствованных из других языков программирования, таких как обобщения (generics по образу C# и Java), null-значения, коллекции, Lambda-выражения, механизмы асинхронного программирования, составные shape-структуры и средства для переопределения имён типов. Код на языке Hack выполняется с использованием виртуальной машины HHVM (HipHop Virtual Machine).

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

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

Дополнение: Вышел PHP 5.4.35, в котором устранены четыре проблемы, имеющие отношение к безопасности.

 

Источники[править]


OpenNET logo.png
Creative Commons
Эта статья содержит материалы из статьи «Facebook открыл код транслятора из языка Hack в PHP. Обновление PHP 5.6.3, 5.5.19 и 5.4.35», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
Cartoon Robot.svg
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
 

Комментарии:Facebook открыл код транслятора из языка Hack в PHP. Обновление PHP 5.6.3, 5.5.19 и 5.4.35