2014-03-28 7 views
2

Недавно Facebook выпустил новый язык под названием Hacklang, который скомпилирован в машинный код HHVM.Является ли Hacklang устаревшим или безгосударственным языком?

Так что я просто удивляюсь, является ли Hacklang просто языком с выраженным состоянием?

Спасибо.

+2

Этот вопрос был закрыт по уважительной причине, это законный вопрос. Поэтому я отвечу здесь. PHP является апатридом, если вы не используете какой-либо механизм для хранения состояния (думаю, memcache, сеансы, база данных и т. Д.), Но вы не можете использовать глобальные переменные или некоторые специфические для языка функции. Hacklang - это слой поверх PHP, который добавляет статическую типизацию, а также множество других вещей, но он по-прежнему является языком без гражданства. – Claudiu

+1

Не беспокойтесь. Обратите внимание, что сам язык не компилирует код в машинный код, HHVM (runtime). И он делает это и для PHP. Hacklang - это, прежде всего, typechecker, который статически проверяет ваш код на наличие ошибок типа, с некоторыми дополнениями к среде выполнения (асинхронные функции, коллекции в виде нескольких примеров) – Claudiu

ответ

7

PHP является апатридом, если вы не используете какой-либо механизм для хранения состояния (подумайте о memcache, сеансах, базе данных и т. Д.), Но вы не можете использовать глобальные переменные или некоторые специфические для языка функции. Hacklang - это слой поверх PHP, который добавляет статическую типизацию, а также множество других вещей, но он все еще не имеет места.

Поскольку это теперь ответ, и у меня больше места, отсутствие состояния на самом деле является одной из вещей, которые PHP получил правильно, каждый запрос начинается с чистого листа, что позволяет избежать множества ошибок, возникающих между запросами, каждый один из них изолирован от остальных. Таким образом, Хак сделал так, чтобы это было так. Есть дополнительные затраты, связанные с запуском каждого запроса, но то, что вы теряете там, выигрываете с увеличением производительности HHVM.

Смежные вопросы