Hack язык программирования
Определение
Hack — PHP-подобный язык программирования общего назначения со статической типизацией, разработанный компанией Facebook и представленный 20 марта 2014 года. Код, написанный на языке Hack, исполняется на виртуальной машине HHVM, созданной на базе транслятора HipHop, и поддерживающей одновременно и Hack, и PHP. Целью создания языка стало совмещение быстрого цикла разработки PHP с надёжностью и производительностью, которые обеспечивает статическая типизация.
Особенности
Hack свободно взаимодействует с PHP, что очень удобно для веб-разработки и вставок в HTML: большинство (хоть и не все) обычных скриптов PHP будут работать и в Hack.
Hack расширяет контроль типов (type hinting
), представленный в PHP 5, с помощью статистических типов, добавления возможности использования контроля типов с иными типами (например, с int и string ).
Также были внедрены следующие фичи из современных языков программирования: асинхронное программирование, обобщенное программирование, псевдонимы типов, обнуляемые типы и ограничения на параметры типов, коллекции, лямбда-выражения, а также проверка возвращаемых типов и типов параметров во время выполнения. Типы проверяются специальным сервером (сервисом, демоном), который следит за изменением файлов исходного кода на диске.
Пример кода
<?hh
class MyClass {
const int MyConst = 0;
private string $x = '';
public function increment(int $x): int {
$y = $x + 1;
return $y;
}
}