Псевдо-исключения, коды возврата и try/catch — это какая-то каша. И вообще, скриптовый язык с кодами возврата — это жуть. Вы-же LLVM используете. Не смогли выяснить как там генерировать код выбрасывающий и ловящий исключения? К тому же для x86-64 существует ABI стандарт, строго определяющий бинарный интерфейс для исключений. Убедите меня, что ваш язык лучше Python-а. В питоне есть исключения (и лямбды, и ещё чего всякого), а у вас нет.
Экономить на длине имён переменных — это каменный век. Нормальные компиляторы уже давным давно умеют делать бинарные файлы так, что отладочная информация не загружается при нормальном выполнении программы. А компилятор Оберона ещё не научился?
> Во вторых, следует учитывать железо, на котором Вирт начинал программировать, его ограничение по памяти
Кто нибудь, отберите уже у Вирта его старый ZX Spectrum и подарите ему нормальную машину, чтобы он перестал паниковать, когда его программа выходит за предел 48K.
Галопом по европам, IMHO. За 9 лекций нельзя изучить C++, и особенно в таком объёме с паттернами, Boost-ом и template metaprogramming. Поэтому практическая полезность этих лекций вызывает у меня сомнение.
Как видно, топовые процессор и видео карта совсем не нужны для DOOM 3 BFG. Вот здесь DOOM 3 BFG летает на Pentium 4 и примитивной карточке GT 210, выдавая 30-60 FPS (в среднем 40 FPS).
В Rust отсутствуют исключения, и вместо них есть тип Result. Не значит ли это, что в любой мало-мальски сложной программе везде прийдётся писать try!(...) при вызове каждой функции, которая может завершиться с ошибкой?
Бьярне рекомендует свою конкретную книгу: Programming: Principles and Practice Using C++. Она расчитана на студентов, которые начинают практически с нуля. Она сам по ней учит. Книгу очень легко читать. Многие другие учебники действительно кривые. Шилдт, между прочим, хороший пример кривого учебника.
Очевидно, что парень перегнул палку. Он в Azure не многим более пол-года. Что за это время можно вообще понять, особенно, если тебе еще 22 года, и это первое место твоей работы?
Software developer in test или просто SDET — это тоже developer, но разница в том, что он девелопит. SDET пишут код не для продукта, а для тестирования продукта. Этот код не является частью продукта, и поэтому можно легко представить себе такую ситуацию, как описал этот парень: какая разница, кто там что написал, и как криво это работает. Главное чтобы написанный тест соответствовал тест-плану. А остальное всем пофигу.
Но не будем забывать, что парень молод ещё. Опыта нет, многого не знает и не понимает. На Reddit и на Hacker News ему уже популярно объяснили, что он погорячился.
Каждый раз, когда я вижу на хабре статью с полезной информацией, сразу проматываю в конец. Потому что с вероятностью 90% это просто перевод. А в оригинале читать удобнее и быстрее. Было бы еще лучше, если бы ссылка на оригинал давалась сразу в начале.
Экономить на длине имён переменных — это каменный век. Нормальные компиляторы уже давным давно умеют делать бинарные файлы так, что отладочная информация не загружается при нормальном выполнении программы. А компилятор Оберона ещё не научился?
> Во вторых, следует учитывать железо, на котором Вирт начинал программировать, его ограничение по памяти
Кто нибудь, отберите уже у Вирта его старый ZX Spectrum и подарите ему нормальную машину, чтобы он перестал паниковать, когда его программа выходит за предел 48K.
Что-то маловато будет. За те немаленькие деньги, что они просят за анализатор эффективность должна быть повыше, чем одна проблема на 100K кода.
Догадайтесь, где баг. Можно сказать, что автор (не я) сам себе злобный буратино. Однако, осадочек, как говорится, остался.
Увы, пример кода, который генерируется в результате разворачивания этого макроса, в статью не поместится :).
А так пожалуйста, функция с тремя параметрами: pastebin.com/3ntTUfFr
Ну и потом:
Как завещали наши прадеды в ATL 20 лет тому назад.
using std::swap; swap(a, b); // a & b - два шаблонных типа
С оператором :=: можно будет просто:
a :=: b;
На Reddit эту тему уже обсудили. Вот, например, что пишет один человек, который тоже работает в Azure: www.reddit.com/r/programming/comments/1g6p2x/working_at_microsoft/cahh3xy. Я с ним лично пересекался: толковый товарищ.
Но не будем забывать, что парень молод ещё. Опыта нет, многого не знает и не понимает. На Reddit и на Hacker News ему уже популярно объяснили, что он погорячился.