• Точки останова на ручной тяге (для архитектуры x86)
    +1
    я отлаживал проблему под Маком, поэтому весь код написал исключительно для Мака.

    спасибо за названия функций, сократит время на поиск, если придется отлаживать что-то аналогичное под Windows/Linux.
  • Первая солнечная станция на расплавленной соли, работающая круглосуточно
    +6
  • Стажировка в Google 2 (Google campus в картинках)
    0
    интересно почему пончик не заменили до сих пор на эклер, а эклер на фройо.
  • Потокобезопасная очередь без блокировок
    +1
    вот как правильно делать — software.intel.com/en-us/articles/single-producer-single-consumer-queue/
  • Потокобезопасная очередь без блокировок
    +2
    опасный код — тут же даже memory barrierов нету.

    на двух процессорах такое использовать — реально может взорваться.
  • Стажировка в Google 2 (Часть 1)
    0
    нет практики у меня особой в разговорном английском не было. в универе английский был не очень. в школе был нормальный, но я никогда особо не блистал в нем и не любил его (вообще не люблю изучать иностранные языки, сейчас вот надо бы датский изучать — но лень). понимать речь мне очень помог просмотр фильмов и сериалов на английском.

    на интервью разговор идет кодом, а не английскими словами.
  • Стажировка в Google 2 (Часть 1)
    0
    я отталкиваюсь от своего опыта: говорить на собеседовании меньше и проще, чем в жизни.
  • Стажировка в Google 2 (Часть 1)
    +1
    >> И вообще, каким должен быть уровень, чтобы можно было проходить собеседование?

    Вы думайте не о собеседовании, а о том, что вам придется работать потом в англоязычной среде. Слушать объяснения коллег и самому что-то объяснять им.
  • Язык Go с точки зрения PHP-разработчика
    0
    у паскаля собственные ноги растут из алгола =)

    из того же алгола проросла симула, а из симулы проросло ОО в других языках.

    системы типов а-ля ML (и уж тем более мощные системы типов а-ля Haskell) это вообще фрукты другого дерева.
  • Вопреки заявлениям Google, открытый Chromium тоже следит за вами
    +1
    rlz — windows-специфичная библиотека, так что никакие патчи сборщикам пакетов не нужны ;-)
  • Comment from a drafted post.
  • Вопреки заявлениям Google, открытый Chromium тоже следит за вами
    +2
    поищите по своему диску библиотеку rlz.dll, если вы до этого ставили обычный хром, то вполне возможно, что Хромиум её зацепляет;
  • Асинхронность: почему это никак не сделают правильно?
    0
    >> со-процедуры (co-procedures)

    вы про сопрограммы (coroutines)?

    >> и продолжения (continuations), через которые они реализуются.

    сопрограммы необязательно реализовывают через continuations.

    и вообще это совершенно другой подход: сопрограммы — это кооперативная многозадачность.

  • Асинхронность: почему это никак не сделают правильно?
    0
    Я каждый раз когда смотрю на node.js вижу одну большую монаду на ручной тяге :-)
  • Основные концепции принятые в языке Lada
    0
    Человек неспособный выразить четко и интересно собственные мысли, одновременно неспособен создать сколь-нибудь полезный язык программирования. Мне кажется это аксиома программирования.
  • The Art Of Programming — Выпуск №50 [ VM ] / Особенности работы JVM
    0
    >> Странно, а сайт называется excelsior-usa.com.

    Есть excelsior.ru =) Видимо excelsior.com был кем-то раньше куплен, чем появилась компания…

    >> Очень давно смотрел один из первых компиляторов эксельсиора, и он как ни странно, уступал в произвоительости Sun JRE.

    Ну с тех пор много воды утекло, я думаю. Я правда не в курсе последних сравнений.

    Но вот публичные замеры двухгодичной давности: www.stefankrause.net/wp/?p=9
  • The Art Of Programming — Выпуск №50 [ VM ] / Особенности работы JVM
    +1
    добавлю к словам TheShade следующее:

    1. для сокращения издержек на верификацию (там требуется итеративный потоковый анализ) в классфайлы стали включать т.н. StackMaps.

    2. На Sun/Oracle HotSpot JVM свет клином не сошелся. Уже упомянутый мной выше Excelsior (Российская контора расположенная в Новосибирском Академгородке) разработала с нуля собственную JVM, во главу которой положена AOT-компиляция, т.е. приложение компилируется в бинарный код один раз и в таком виде распространяется. Так вот такая «превентивная» компиляция вместе с некоторыми трюками (переупорядочение секций в бинарнике на основе предварительно собранного профиля) позволяет достичь существенного (заметного на глаз ускорения) старта приложения.
  • Роб Пайк подверг критике C++ и Java
    0
    а в Си у вас, например, нет никакого способа узнать, а не макрос ли myFunc =)

    так что и в Си совсем не все просто…
  • The Art Of Programming — Выпуск №50 [ VM ] / Особенности работы JVM
    +3
    А про единственного русского Java Licensee — Excelsior, ничего не сказал в начале =(
  • Компиляция. 7: назначение регистров
    +1
    на счет ADT и pattern matching согласен.

    со сборщиком мусора сложнее в том плане, что (1) если наш компилятор является частью виртуальной машины, то нежелательно чтобы рядом какой-то левый сборщик мусора работал (в крайнем случае нужно пользоваться тем, который есть в самой ВМ) (2) сборщик мусора должен быть достаточно хороший, иначе придется костыли всякие вставлять всюду (кэши мелких объектиков, например), чтобы не тупило.
  • Компиляция. 7: назначение регистров
    +2
    ох, с распределением регистров столько всякой головной боли…

    например, неортогональность системы команд x86 [некоторые команды требуют фиксированных регистров] и вообще взаимное влияние фаз выбора кода и распределения регистров.

    хорошая ссылка по теме: магистерская работа Кристиана Виммера «Linear Scan Register Allocation
    for the Java HotSpotTM Client Compiler» (http://www.ssw.uni-linz.ac.at/Research/Papers/Wimmer04Master/Wimmer04Master.pdf)
  • Компиляция. 7: назначение регистров
    0
    а на чем вы предлагаете писать?
  • Компиляция. 6: промежуточный код
    +1
    2) разве a и b окажутся не на одном регистре? весьма неожиданное поведение.
  • Компиляция. 6: промежуточный код
    0
    ну с таким «распределителем регистров» 256 регистров в трубу вылетят достаточно быстро =)

    у вас вообще получилось почти SSA форма с автоматической протяжкой копий «x = y;» [правда не совсем, все-таки можно потом написать x = expr;" это нарушит SSA свойство… ну и phi-функций нет..]
  • Компиляция. 4: игрушечный ЯП
    0
    т.е. если требуется улучшить сообщение об ошибке надо править сгенерированный код?

    при этом если потребуется поправить что-то в грамматике придется перегенерировать парсер, а потом туда перекопировать аккуратно все свои правки связанные с улучшениями сообщений об ошибках?

    не очень удобно, вы не находите?
  • Компиляция. 4: игрушечный ЯП
    +1
    вопрос, насколько понятные сообщения о синтаксических ошибках будет давать компилятор? насколько сложно будет добавить красивые сообщения об ошибках типа

    test.jsk line 1 pos 4: '(' expected got number
    
    if 10 < x) {
       ^
    


  • Работа и аспирантура в Швейцарии
    0
    Это скорее от того, что прохожие не говорили по-английски или по-итальянски.
  • Работа и аспирантура в Швейцарии
    0
    Я поверю. Но, во-первых, я каждый раз произнося «Sorry, I don't speak Danish!» чувствую себя отсталым дикарем, а, во-вторых, английский мне лишь чуточку роднее датского.

    >> и пытаются помочь иностранцу, если это возможно. И от части от такого отношения тоже складывается впечатление о том, что там комфортней и приятней.

    я вот весной заблудился в спальном районе Москвы (был ней первый раз в жизни), спрашивал дорогу у людей. и никто что-то не нахамил мне и не послал куда подальше, т.е. не сильно-то и отличается от Франции.

    дело с иностранными языками совсем не в том, что я не могу купить сосисек в магазине, это-то как раз не проблема. дело в том, что я не могу прочувствовать все нюансы общения, я не могу, например, легко пошутить так, как я могу сделать это на русском.
  • Работа и аспирантура в Швейцарии
    +1
    у меня в России был более быстрый Интернет… Так что не совсем один =)
  • Работа и аспирантура в Швейцарии
    +1
    да я живу и работаю не в России, но именно выехав из России первый раз в жизни, я понял насколько важно говорить на одном языке с окружающими.

    и да, за пределами России существуют определённые плюсы: немного спокойнее и цивильнее, можно возвращаться ночью без опасения получить по голове, определённые бюрократические/государственные вещи организованы более четко; свежий воздух маленького городка…

    но парадокс в том, что никакой особой разницы я не чувствую, будто и не уезжал никуда :-)
  • Работа и аспирантура в Швейцарии
    –17
    я не понимаю как можно испытывать комфорт в стране, которая не понимает твоего языка =)
    [ну или в стране чьего языка ты не понимаешь].

    ну и находится в стране, которая великодушно выдает тебе разрешение на прибывание в ней… это тоже как-то напрягает чуточку.
  • Составление строк из множества частей
    +1
    >> О чём вообще можно говорить про такую среду исполнения?

    О том, что это одна из самых быстрых сред исполнения для динамических языков =)

    Если её кто-то неправильно использует, то это его проблема.
  • Составление строк из множества частей
    0
    Гораздо правильнее при объдинении просто добавлять кусочки в список, а при попытке прочитать значение строки — склеивать все, что накопилось.


    Например, в Google V8 так и сделано, но не избавляет от проблем. Возникают другие вопросы, например, когда из кусочного представления переходить к линейному…
  • Компиляция. 3: бизон
    +1
    представьте себе скажем Javascript-машину в браузере, она не закрывается после ошибки.
  • Компиляция. 2: грамматики
    –1
    разумно. но на мой взгляд как оно работает «матан» сам по себе не позволяет прочуствовать: надо писать руками либо разборщик для конкретного языка, либо генератор LR-разборщиков.
  • Компиляция. 2: грамматики
    –1
    какой смысл описывать весь этот «матан» снова и снова?

    калькуляторы lex+yacc вообще на каждом углу валяются, бери сколько унесешь. только вопрос как это поможет человеку программирующему на чем-нибудь типа Java/C#/Python/Ruby/Javascript остается открытым.

    Главное ведь что, на мой взгляд? Дать прочуствовать архитектуру, инженерные решения, а не матан и не старообрядство типа yacc.
  • Компиляция. 1: лексер
    +1
    хе-хе, НГУ повезло что под боком Excelsior и Intel [причем именно в таком порядке].

    не было бы их — кукишь, а не спецкурс по оптимизирующей компиляции.

  • Компиляция. 1: лексер
    +3
    последний параграф как бы намекает, что в следующей части вы как раз и увидите эту фразу.
  • О науке Веб и аспирантуре в Англии
    0
    у меня что-то есть сомнения в том, что Web Science это именно Science, а не Pseudoscience. что они такого уж научного там делают?
  • Google Technology User Group появился в Москве
    0
    >> те, кто меня пригласили наверное знают как меня зовут :)

    те, кто Вас пригласили знают, но другие сотрудники то вообще не в курсе что вы посетитель. может быть вы шпион-лазутчик? кроме того без опознавательных знаков нельзя понять уровень вашего доступа (например, о чем можно говорить в вашем присутствии).

    наклейка легко отклеивается и не оставляет следов. по крайней мере с моего свитера она в свое время так отклеилась.