The OpenNET Project / Index page

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

21.03.2014 10:05  Facebook представил Hack, вариант языка PHP со статической типизацией

Facebook представил новый язык программирования Hack, основанный на синтаксисе языка PHP и предназначенный для выполнения с использованием виртуальной машины HHVM (HipHop Virtual Machine). Приложения на языке Hack могут бесшовно взаимодействовать и сочетаться с существующим кодом на языке PHP, так как окружение HHVM поддерживает выполнение и немодифицированных PHP-скриптов. Код Hack распространяется под свободной лицензией PHP. Реализация языка уже опробована в промышленной эксплуатации, в частности, Facebook уже перешёл на использование Hack и перевёл на данный язык практически весь код своих PHP-проектов.

Отличия Hack от PHP сводятся к поддержке статической типизации и ряда расширенных возможностей, заимствованных из других языков программирования. Например, в Hack поддерживаются такие возможности, как обобщения (generics по образу C# и Java), null-значения, коллекции (в дополнение к традиционным массивам, добавлены типы Vector, Map, Set, Pair), Lambda-выражения (аналог PHP closures без явного именования переменных), механизмы асинхронного программирования (категории функций async и await), составные shape-структуры, средства для переопределения имён типов (type aliasing). Указание типов осуществляется через систему аннотаций, например указывается "function increment(int $x): int {" вместо "function increment($x) {".

Из возможностей PHP, поддержка которых прекращена в Hack, можно отметить операторы goto, break N, continue N, global, "if:...endif", AND, OR, XOR (нужно использовать "&, |, ^"), ссылки ("function foo(&$x)"), символ приглушения вывода "@", использование "if/then/else" без обрамления блока символами "{}", elseif (правильно "else if"), средства динамического вызова (eval, $$x и т.п.), переменные в переменных ($a = "hello"; $$a = "world"; echo "$a + $hello"), задание имени функции через переменную ($func = 'myFunc'; $func(1,2);), объекты ArrayAccess. Отдельно можно подчеркнуть, что имена функций в Hack вызываются с учётом регистра символов, в то время как в PHP регистр не учитывался.

Hack реализован на уровне виртуальной машины HHVM, поддерживающей JIT-компиляцию. HHVM в полной мере поддерживает обычный PHP 5, но при выполнении программ на языке Hack обеспечивается существенно более высокая производительность, так как благодаря наличию информации о типах в процессе JIT-компиляции удаётся сгенерировать более оптимальный и компактный машинный код. Бесшовная поддержка PHP в HHVM существенно упрощает портирование на язык Hack - проект может переводиться на статические типы поэтапно, смешивая код и сочетая файлы ".php" и ".hh" (в коде может смешиваться статическая и динамическая типизация, например, для одной функции может быть явно определены типы, а для другой оставлено динамическое определение типов).

Кроме того, доступны инструменты для автоматической трансляции PHP-кода на язык Hack. Предоставляются средства мгновенной проверки типов через использование специального локального сервера (hh_server), отслеживающего изменения в файловой системе и сообщающего данные о возможных ошибках. Использование серверного процесса позволяет сократить время на периодическую верификацию кода, исключая необходимость ожидания завершения стадии анализа кода. Вместо этого код проверяется по мере изменения, а результат выводится почти мгновенно после запуска проверки (hh_client), не приостанавливая процесс разработки. Плагины для интеграции поддержки Hack, в том числе учитывающие наличие сервера верификации, подготовлены для Vim и Emacs.

  1. Главная ссылка к новости (https://code.facebook.com/post...)
  2. OpenNews: Facebook анонсировал виртуальную машину HipHop и JIT-компилятор для языка PHP
  3. OpenNews: Компания Facebook открыла код высокопроизводительного PHP транслятора
  4. OpenNews: PHP-транслятор HipHop позволил Facebook использовать в разы меньше оборудования
Лицензия: CC-BY
Тип: Интересно / Программы
Ключевые слова: hhvm, php, hack, facebook
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Линейный вид | Ajax | Показать все | RSS
 
  • 1.1, Аноним, 10:20, 21/03/2014 [ответить] [смотреть все]
  • –11 +/
    По-моему теперь выбор языка для будущих проектов очевиден.
     
     
  • 2.3, A.Stahl, 10:22, 21/03/2014 [^] [ответить] [смотреть все] [показать ветку]
  • +19 +/
    Си? Джава? Питон?
    Нет, не очевиден...
     
     
  • 3.79, Аноним, 18:27, 21/03/2014 [^] [ответить] [смотреть все]
  • –2 +/
    Вообще-то nodejs.
     
     
  • 4.80, еще один аноним, 19:58, 21/03/2014 [^] [ответить] [смотреть все]
  • +/
    nodejs уже язык, а не платформа?
     
  • 4.105, EuPhobos, 10:18, 24/03/2014 [^] [ответить] [смотреть все]
  • +/
    Накидал тесты по циклам в секунду https github com EuPhobos utils tree master ... весь текст скрыт [показать]
     
     
  • 5.106, AlexAT, 11:08, 24/03/2014 [^] [ответить] [смотреть все]  
  • –1 +/
    Отличный пример теста с отрицательной ценностью Тестирует сферического коня в в... весь текст скрыт [показать]
     
     
  • 6.107, EuPhobos, 11:34, 24/03/2014 [^] [ответить] [смотреть все]  
  • +1 +/
    Видать я заражён форониксом
     
  • 3.85, Admins, 23:09, 21/03/2014 [^] [ответить] [смотреть все]  
  • +4 +/
    Конечно же Си.
     
  • 2.9, arisu, 10:41, 21/03/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • +4 +/
    > По-моему теперь выбор языка для будущих проектов очевиден.

    конечно: DLang.

     
     
  • 3.12, NikolayV81, 10:56, 21/03/2014 [^] [ответить] [смотреть все]  
  • –1 +/
    Но мода как всегда выберет другой путь :(
     
     
  • 4.13, arisu, 11:01, 21/03/2014 [^] [ответить] [смотреть все]  
  • –1 +/
    ну и фиг с ней D зато вон живёт, развивается, готовится в gcc 4 9 пойти vibe d... весь текст скрыт [показать]
     
     
  • 5.57, йцу, 15:42, 21/03/2014 [^] [ответить] [смотреть все]  
  • +/
    вот только vibe.d под gdc пока не собирается (к сожалению)
     
     
  • 6.59, arisu, 15:46, 21/03/2014 [^] [ответить] [смотреть все]  
  • +/
    а не надо дубом собирать, дуб унылый и gdc надо брать из гита, там уже 2064, а ... весь текст скрыт [показать]
     
     
  • 7.103, Crazy Alex, 00:36, 24/03/2014 [^] [ответить] [смотреть все]  
  • +/
    А чем тебе дуб не угодил?
     
     
  • 8.104, arisu, 00:55, 24/03/2014 [^] [ответить] [смотреть все]  
  • +1 +/
    yet another build system оно-то понятно, что это такое же развлечение, как тетр... весь текст скрыт [показать]
     
  • 6.77, arisu, 18:20, 21/03/2014 [^] [ответить] [смотреть все]  
  • –1 +/
    кстати, категорически протестую только что таки уговорил дуб запуститься, собра... весь текст скрыт [показать]
     
  • 3.28, Аноним, 12:21, 21/03/2014 [^] [ответить] [смотреть все]  
  • +1 +/
    Для вебни то А по-моему, заменить пых на вот это было бы довольно разумно ... весь текст скрыт [показать]
     
     
  • 4.33, arisu, 12:49, 21/03/2014 [^] [ответить] [смотреть все]  
  • +2 +/
    а по-моему, vibe d намного круче сабжевой фиготени а когда там hotswap полность... весь текст скрыт [показать]
     
     
  • 5.91, Аноним, 15:29, 22/03/2014 [^] [ответить] [смотреть все]  
  • +/
    > а по-моему, vibe.d намного круче сабжевой фиготени.

    А это что? URL?

     
     
  • 6.97, arisu, 20:35, 22/03/2014 [^] [ответить] [смотреть все]  
  • +1 +/
    научу пользоваться поисковиками дорого ... весь текст скрыт [показать]
     
  • 3.50, MPEG LA, 14:00, 21/03/2014 [^] [ответить] [смотреть все]  
  • +/
    в D уже можно вместо сегфолта просто поймать исключение на этом class A publi... весь текст скрыт [показать]
     
     
  • 4.51, arisu, 14:10, 21/03/2014 [^] [ответить] [смотреть все]  
  • +/
    а зачем это однозначно фатальная ошибка, и она должна приводить к сегфолту ... весь текст скрыт [показать]
     
     
  • 5.63, MPEG LA, 17:15, 21/03/2014 [^] [ответить] [смотреть все]  
  • +2 +/
    для того, чтобы фатальная ошибка влияла только на текущий поток и его стек, а не... весь текст скрыт [показать]
     
     
  • 6.65, arisu, 17:21, 21/03/2014 [^] [ответить] [смотреть все]  
  • –2 +/
    это фатальная ошибка всего приложения, и падать должно всё приложение изволь не... весь текст скрыт [показать]
     
     
  • 7.66, MPEG LA, 17:35, 21/03/2014 [^] [ответить] [смотреть все]  
  • +2 +/
    не согласен fault-tolerancy должен присутствовать какое отношение имеет говнок... весь текст скрыт [показать]
     
     
  • 8.67, arisu, 17:42, 21/03/2014 [^] [ответить] [смотреть все]  
  • +/
    if a is null throw new Exception too bad i m dead assert enforce in ... весь текст скрыт [показать]
     
     
  • 9.68, MPEG LA, 17:48, 21/03/2014 [^] [ответить] [смотреть все]  
  • +/
    assert enforce in отлично вот хотелось бы это самое на уровне языка, ч... весь текст скрыт [показать]
     
     
  • 10.70, arisu, 17:55, 21/03/2014 [^] [ответить] [смотреть все]  
  • +1 +/
    это и есть 171 на уровне языка 187 не ленимся, прописываем контракты это п... весь текст скрыт [показать]
     
     
  • 11.71, MPEG LA, 18:03, 21/03/2014 [^] [ответить] [смотреть все]  
  • +/
    мы плюсисты ассертим все что нужно и как нужно, да и смарт поинтеры в ходу а во... весь текст скрыт [показать]
     
     
  • 12.74, arisu, 18:12, 21/03/2014 [^] [ответить] [смотреть все]  
  • +1 +/
    очень хорошо вписывается при помощи простых денежных стимулов один сегфолт 82... весь текст скрыт [показать]
     
     
  • 13.109, volax, 14:37, 25/03/2014 [^] [ответить] [смотреть все]  
  • +/
    Ээээ А для чего они предназначены ... весь текст скрыт [показать]
     
     
  • 14.110, arisu, 15:23, 25/03/2014 [^] [ответить] [смотреть все]  
  • +/
    для разруливания ошибочных ситуаций ошибочная ситуация 8212 это не баг нет ... весь текст скрыт [показать]
     
     
  • 15.111, Аноним, 15:49, 25/03/2014 [^] [ответить] [смотреть все]  
  • +1 +/
    нет файлв нв диске тоже проверяется, и т д Тут обращение к недействительному у... весь текст скрыт [показать]
     
     
  • 16.112, arisu, 16:08, 25/03/2014 [^] [ответить] [смотреть все]  
  • –1 +/
    вроде бы и не пятница, а бухие уже тут…
     
  • 15.113, volax, 23:48, 25/03/2014 [^] [ответить] [смотреть все]  
  • +/
    Бред Нафиг вообще тогда exception-ы, если можно проверять код возврата Для ум... весь текст скрыт [показать]
     
     
  • 16.114, arisu, 04:44, 26/03/2014 [^] [ответить] [смотреть все]  
  • –3 +/
    спасибо, мнение говнокодеров очень важно для меня.
     
     
  • 17.115, volax, 15:52, 26/03/2014 [^] [ответить] [смотреть все]  
  • +1 +/
    Вот не люблю я опеннетовских аналитегов, упёртые дураки ещё хуже стандартных...
     
     
  • 18.116, ACCA, 17:05, 26/03/2014 [^] [ответить] [смотреть все]  
  • +/
    Девочки, не ссорьтесь Есть два принципиально разных подхода к обработке исключи... весь текст скрыт [показать]
     
  • 18.117, arisu, 17:07, 26/03/2014 [^] [ответить] [смотреть все]  
  • +/
    ну не я же виноват, что ты дурак ... весь текст скрыт [показать]
     
  • 13.118, ACCA, 17:16, 26/03/2014 [^] [ответить] [смотреть все]  
  • +/
    Походу, ты проект в одно рыло собрался писать Как может, так и пишет И это тво... весь текст скрыт [показать]
     
     
  • 14.119, arisu, 17:22, 26/03/2014 [^] [ответить] [смотреть все]  
  • +/
    походу, в одно рыло будет лучше, чем разгребать потом говнокод сроки релиза те ... весь текст скрыт [показать]
     
  • 11.72, MPEG LA, 18:05, 21/03/2014 [^] [ответить] [смотреть все]  
  • +2 +/
    ну и разговор не о том, что контракты это круто некруто, а об элементарном nullr... весь текст скрыт [показать]
     
  • 1.2, A.Stahl, 10:21, 21/03/2014 [ответить] [смотреть все]  
  • +/
    >средства ... проверки типов через использование ... сервера, отслеживающего изменения в файловой системе

    Это как?

     
     
  • 2.6, AlexAT, 10:33, 21/03/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    FAM/Gamin?
     
     
  • 3.8, A.Stahl, 10:39, 21/03/2014 [^] [ответить] [смотреть все]  
  • +/
    И как это поможет проверке типов?
     
     
  • 4.36, Аноним, 13:01, 21/03/2014 [^] [ответить] [смотреть все]  
  • +1 +/
    Сервер увидел, что погромист поменял тип переменной - сразу посмотрел, где код о... весь текст скрыт [показать]
     
  • 2.43, oxyum, 13:08, 21/03/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • +2 +/
    Ну как-как, скорее всего простейший демон, который через какой-нить inotify лови... весь текст скрыт [показать] [показать ветку]
     
  • 2.86, piteri, 23:16, 21/03/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Они там специальную тулзу написали watchman, в лине работает через inotify Лови... весь текст скрыт [показать] [показать ветку]
     
  • 1.4, Аноним, 10:23, 21/03/2014 [ответить] [смотреть все]  
  • –6 +/
    Может я что-то в этой жизни пропустил В PHP из bash перекочевала структура if ... весь текст скрыт [показать]
     
     
  • 2.5, Аноним, 10:26, 21/03/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Ошибся, endif это альтернативный синтаксис if ...
     
  • 2.7, Аноним, 10:37, 21/03/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    if ():

    endif;

     
  • 1.10, Аноним, 10:45, 21/03/2014 [ответить] [смотреть все]  
  • +/
    Ну зачем, если есть java, нужна статика выберай
     
     
  • 2.25, Аноним, 11:56, 21/03/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • –1 +/
    Не нужно закрытое нутро runtime жабы.
     
     
  • 3.29, VoDA, 12:26, 21/03/2014 [^] [ответить] [смотреть все]  
  • +/
    google OpenJDK - все нутро открыто закрыты только плагины, которые не являются ... весь текст скрыт [показать]
     
     
  • 4.76, некто1120, 18:18, 21/03/2014 [^] [ответить] [смотреть все]  
  • +/
    продемонстрируйте пожалуйста есть система на системе компиляторы интерпретатор... весь текст скрыт [показать]
     
     
  • 5.78, arisu, 18:25, 21/03/2014 [^] [ответить] [смотреть все]  
  • +1 +/
    есть система на системе компиляторы интерпретаторы всех языков кроме cи как мн... весь текст скрыт [показать]
     
     
  • 6.90, Canis Dirus Leidy, 15:11, 22/03/2014 [^] [ответить] [смотреть все]  
  • +/
    trollface png http ru wikipedia org wiki Раскрутка_компилятора... весь текст скрыт [показать]
     
  • 6.92, Аноним, 15:32, 22/03/2014 [^] [ответить] [смотреть все]  
  • +/
    Ты прикинь, а первые компьютеры программировали не имея компиляторов ... весь текст скрыт [показать]
     
     
  • 7.98, arisu, 20:38, 22/03/2014 [^] [ответить] [смотреть все]  
  • +1 +/
    молодцы, чо. что ж вы предыдущему вопрошающему это не рассказали?
     
  • 1.11, Аноним, 10:47, 21/03/2014 [ответить] [смотреть все]  
  • +/
    пхп становится самым настоящим комбаином Нужна статика есть java,D,Go Нужна ди... весь текст скрыт [показать]
     
     
  • 2.58, йцу, 15:43, 21/03/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    а если нужно всё вместе - PHP :D
     
     
  • 3.87, piteri, 23:19, 21/03/2014 [^] [ответить] [смотреть все]  
  • +/
    а если нужно всё вместе - перепишите пхп, напишите свою вм для переписанного пхп... весь текст скрыт [показать]
     
  • 1.14, rd, 11:07, 21/03/2014 [ответить] [смотреть все]  
  • +3 +/
    По-моему название языка неподходящее. Гуглить по нему материалы будет проблематично.
     
     
  • 2.15, Аноним, 11:08, 21/03/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • +4 +/
    Не хуже, чем у Go.
     
  • 2.21, wd, 11:38, 21/03/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • +2 +/
    скорее будет наоборот, кинешься искать фильм хакеры - нет, вот на тебе маны по... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.23, NikolayV81, 11:41, 21/03/2014 [^] [ответить] [смотреть все]  
  • +/
    C oracl-ом ещё веселее, ссылает на docs oracle но там справка по mysql, при этом... весь текст скрыт [показать]
     
  • 1.16, redwolf, 11:10, 21/03/2014 [ответить] [смотреть все]  
  • +5 +/
    Когда я вижу запись &$x, у меня что-то внутри подпрыгиваеет.
     
     
  • 2.100, pavlinux, 02:09, 23/03/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    &$x[i->j]:!x?y

     
  • 2.120, ACCA, 17:26, 26/03/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Уже и в роботов PHP напихали с ... весь текст скрыт [показать] [показать ветку]
     
  • 1.18, бедный буратино, 11:28, 21/03/2014 [ответить] [смотреть все]  
  • +/
    круто
     
  • 1.19, jOKer, 11:35, 21/03/2014 [ответить] [смотреть все]  
  • –1 +/
    Без условно, медведя можно научить кататься на велосипеде. Но вот будет ли от этого медведю удовольствие и польза?
     
     
  • 2.20, NikolayV81, 11:36, 21/03/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    Конечно, в цирке за это кормят, не будет кататься будет меньше еды ... весь текст скрыт [показать] [показать ветку]
     
  • 2.30, Аноним, 12:34, 21/03/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • +3 +/
    > Без условно

    Значение знаешь?

     
     
  • 3.38, Аноним, 13:03, 21/03/2014 [^] [ответить] [смотреть все]  
  • +/
    >> Без условно
    > Значение знаешь?

    Не, курить!

     
  • 3.39, Аноним, 13:04, 21/03/2014 [^] [ответить] [смотреть все]  
  • +/
    Без условно!
     
  • 1.22, vn971, 11:39, 21/03/2014 [ответить] [смотреть все]  
  • +/
    Если кто-то будет теперь захваливать PHP -- я знаю какую ссылку ему кидать.)
     
     
  • 2.35, бедный буратино, 12:53, 21/03/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • –1 +/
    что значит захваливать , и как это выглядит ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.37, Аноним, 13:02, 21/03/2014 [^] [ответить] [смотреть все]  
  • +1 +/
    Это примерно то, что ты делаешь с питоном ... весь текст скрыт [показать]
     
     
  • 4.45, бедный буратино, 13:15, 21/03/2014 [^] [ответить] [смотреть все]  
  • +1 +/
    а что я делаю с питоном?

    и вообще, это не я! оно само!

     
     
  • 5.93, Аноним, 15:34, 22/03/2014 [^] [ответить] [смотреть все]  
  • +1 +/
    Вот, лучший пруф что у питонистов рантайм умнее программиста ... весь текст скрыт [показать]
     
  • 1.24, некто, 11:55, 21/03/2014 [ответить] [смотреть все]  
  • +/
    Как расширение это может и хорошо, но в целом это мало кому нужное замусоривание языка.
     
     
  • 2.34, бедный буратино, 12:52, 21/03/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Это решает не язык даже, а весь стек многие детские проблемы php, но при этом ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.40, некто, 13:07, 21/03/2014 [^] [ответить] [смотреть все]  
  • +/
    Если это не будет выходить за пределы расширения, то терпимо Но все равно есть ... весь текст скрыт [показать]
     
     
  • 4.46, arisu, 13:17, 21/03/2014 [^] [ответить] [смотреть все]  
  • +1 +/
    фб не могут себе позволить переписывать весь код с похапэ на Новый Стильный Язык... весь текст скрыт [показать]
     
     
  • 5.49, некто, 13:51, 21/03/2014 [^] [ответить] [смотреть все]  
  • +/
    Проверку типов можно сделать интерфейсами и заворачиванием в объекты, единственн... весь текст скрыт [показать]
     
  • 4.47, кто, 13:22, 21/03/2014 [^] [ответить] [смотреть все]  
  • +/
    судя по их уродливому API - у них тонны дерьма на php которое уже давно никто не... весь текст скрыт [показать]
     
     
  • 5.48, некто, 13:43, 21/03/2014 [^] [ответить] [смотреть все]  
  • +/
    похоже на то, но и как-бы намекает о внутренних противоречиях Переписать на н... весь текст скрыт [показать]
     
  • 3.54, AlexAT, 14:19, 21/03/2014 [^] [ответить] [смотреть все]  
  • +/
    При слове python лично я беру ружье, при слове ruby - ставлю растяжки А как у в... весь текст скрыт [показать]
     
     
  • 4.55, arisu, 14:25, 21/03/2014 [^] [ответить] [смотреть все]  
  • +4 +/
    руби хороший как ребёнок-даун, который безобидный такой, пытается услужить, под... весь текст скрыт [показать]
     
     
  • 5.89, Аноним, 06:06, 22/03/2014 [^] [ответить] [смотреть все]  
  • –1 +/
    А ариша просто даун Поэтому в его мире всё и все - дауны ... весь текст скрыт [показать]
     
     
  • 6.94, Аноним, 16:42, 22/03/2014 [^] [ответить] [смотреть все]  
  • +/
    Он не даун Он Капитан Очевидность Но у некоторых от этого случается ужасный ба... весь текст скрыт [показать]
     
  • 6.99, arisu, 20:39, 22/03/2014 [^] [ответить] [смотреть все]  
  • +/
    а вот это явно бидонист был они 8212 в том числе 8212 отличаются высокой ... весь текст скрыт [показать]
     
     ....нить скрыта, показать (11)

  • 1.26, Аноним, 12:00, 21/03/2014 [ответить] [смотреть все]  
  • +/
    Расширение файлов ".hh"  давно занято языком C++, будет путаница.
     
     
  • 2.42, vitalif, 13:08, 21/03/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • +3 +/
    Надо было назвать *.hph
     
     
  • 3.81, Pop, 20:04, 21/03/2014 [^] [ответить] [смотреть все]  
  • +/
    cpp -> cc
    hp -> hph

    Аббревеатура

     
     
  • 4.82, arisu, 21:16, 21/03/2014 [^] [ответить] [смотреть все]  
  • +/
    > Аббревеатура

    пикард.webp

     
  • 1.27, Аноним, 12:03, 21/03/2014 [ответить] [смотреть все]  
  • +/
    Там на самом деле есть статическая типизация, или как в Dart?
     
  • 1.31, Аноним, 12:43, 21/03/2014 [ответить] [смотреть все]  
  • +1 +/
    отличное развитие
    если язык развиваеется - значит, у языка есть будущее
     
  • 1.32, некто1120, 12:44, 21/03/2014 [ответить] [смотреть все]  
  • +/
    > использование "if/then/else" без обрамления блока символами "{}"

    скоро как в питоне обяжут отступы делать ровно 4 пробелами

     
     
  • 2.61, Аноним, 17:11, 21/03/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Я бы везде обязал единый синтаксис.
     
     
  • 3.95, Аноним, 18:11, 22/03/2014 [^] [ответить] [смотреть все]  
  • +/
    Начни с себя - серая униформа зэка ждет тебя ... весь текст скрыт [показать]
     
  • 1.41, кто, 13:08, 21/03/2014 [ответить] [смотреть все]  
  • +/
    когда же они сделают php парсером в LLVM?
     
  • 1.44, кто, 13:12, 21/03/2014 [ответить] [смотреть все]  
  • +/
    ссылки то нафига убрали?!!
     
  • 1.52, Аноним, 14:16, 21/03/2014 [ответить] [смотреть все]  
  • +/
    Над PHP столько издевательств, не легче уже изначально разработать язык с нужным... весь текст скрыт [показать]
     
     
  • 2.53, arisu, 14:18, 21/03/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    ну, если ты готов ударными темпами переписать на этом новом языке весь код fb 8... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.62, Аноним, 17:15, 21/03/2014 [^] [ответить] [смотреть все]  
  • +/
    В одиночку этого не добиться А у тех кто делает тот же Hack вполне себе могут п... весь текст скрыт [показать]
     
     
  • 4.96, Аноним, 18:13, 22/03/2014 [^] [ответить] [смотреть все]  
  • +/
    Вот только остановить фэйсбук который уже есть и работает им никто не даст И жд... весь текст скрыт [показать]
     
  • 1.56, Аноним, 14:36, 21/03/2014 [ответить] [смотреть все]  
  • +/
    Аннотации типов для локальных переменных не работают, пичалька hh function la... весь текст скрыт [показать]
     
  • 1.60, Аноним, 15:53, 21/03/2014 [ответить] [смотреть все]  
  • +/
    Где benchmark этого hack?
     
     
  • 2.64, Аноним, 17:20, 21/03/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    facebook.com, не?
     
  • 1.69, Pop, 17:51, 21/03/2014 [ответить] [смотреть все]  
  • +/
    kPHP скопипасили у вконтакта
     
     
  • 2.73, George, 18:08, 21/03/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Facebook вообще клон ВКонтакта, даже тему скопипастил
     
  • 2.75, arka, 18:13, 21/03/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Даже поддержку ООП?
     
  • 1.101, Аноним, 12:37, 23/03/2014 [ответить] [смотреть все]  
  • +/
    Мне не совсем понятно зачем надо было делать этот новый ЯП с несколькими своими ... весь текст скрыт [показать]
     
     
  • 2.123, george, 14:32, 14/12/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    А я вот люблю, и рэп, и хип хоп, но хаком все равно не стану пользоваться) ПХП как то постабильней да и побогаче в плане поддержки модулей.
     
  • 1.102, Аноним, 20:52, 23/03/2014 [ответить] [смотреть все]  
  • +/
    Терпеть не могу хип-хоп и рэп Поэтому даже на страницы проектов заглядывать не ... весь текст скрыт [показать]
     
  • 1.108, Потерпевший, 12:49, 24/03/2014 [ответить] [смотреть все]  
  • +/
    Сначала придумаем языки с динамической типизацией, а потом героически решим проблему с производительностью кода, убрав эту самую динамическую типизацию. #hiphop #asm.js и пр.
     
  • 1.121, bdo168.com, 08:13, 20/01/2015 [ответить] [смотреть все]  
  • +/
    "must say that overall I am really impressed with this blog. It is easy to see that you are passionate about your writing. If only I had your writing ability I look forward to more updates and will be returning.
    "
     
  • 1.122, Аноним, 11:32, 24/06/2015 [ответить] [смотреть все]  
  • +/
    Короче переизобрели Java На что люди только не идут лиж бы не переписывать ко... весь текст скрыт [показать]
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor