Как стать автором
Обновить
148
0.3
Григорий @bfDeveloper

Программист на C++, D, Brainfuck

Отправить сообщение

Очень рекомендую что-нибудь написать на самом Brainfuck и запустить в вашем эмуляторе. Мне в своё время очень помогло получить ощущение контроля:

  • память это ячейки, интерпретируй как хочешь,

  • алгоритмы это про логику, а не конструкции языка

  • в программировании есть свой юмор

Можно. Я почти 10 лет геймдеве (пусть и не ААА) и примерно столько же ни во что почти не играю. На мне это сработало как с колбасой - когда знаешь как делают, сам есть уже не можешь. Очень на многих работает наоборот - так что предугадать сложно.

Могу представить, чем не нравится "выделение" в разных контекстах, можно спутать с выделением (переносом) в отдельный класс/модуль. Но есть же и альтернативы: подсвечивание (дословно highlighting, кстати), обозначение. Да, тут можно спутать с подсветкой синтаксиса (которая тоже highlight), но скорее всего это значение и нужно. В русском произношение хайлайтинга язык ломает, особенно на склонениях. Получится улучшить слайд хайлайтингами?

Чтобы был нужный порядок парентов можно взять theirs

UPD. Попутал, нет theirs как стратегии.

note that, unlike ours, there is no theirs merge strategy to confuse this merge option with.

Это своего рода эквивалент того, что все файлы из старого мастера заменили файлами из нового во время мержа. Внутри гита отличия будут, потому что это два разных дерева файлов, но с точки зрения пользователя отличий нет. Даже blame будет одинаковым.

Но вариант из поста сильно быстрее, если знаешь, что делаешь - не нужен второй чекаут из которого копировать файлики.

Проблема в том, что это не общепринятый термин, это банальный англицизм, который можно заменить на русский эквивалент без потери смысла. Англицизмы сами по себе в профессиональной сфере это нормально, но не когда они пересекаются с существующими русскими словами. Если я скажу, что испытываю симпатию к девушке, то я сочувствую нелёгкой доле (sympathy) или всё же она мне нравится? Жаргон и термины должны избавлять от разночтений, а не добавлять их. В "департаменте утилизации CPU" есть разночтения. Использование б/у железа - очень даже актуальная тема.

Этимология может быть какой угодно, важно значение в современном языке. Вы же не используете слово "санкция" в значении благославление, освящение? А что, sacer «священный, святой; проклятый».

В толковом словаре

УТИЛИЗАЦИЯ, -и; ж. [от лат. utilis - полезный] Использование чего-л. ненужного (отходов производства, быта и т.п.) или не приносящего непосредственной пользы человеку в целях получения (после переработки) какой-л. продукции, энергии и т.п. 

Простите, что не в личку, но дико задевает. Утилизация в русском языке это про отходы. Вы имели в виду нагрузку или использование.

Rust феноменально сильно влияет на мышление, но ничего действительно важного в статье не написано. Очередной раз сказали, что borrow checker это сложно, ну а дальше то что? Как поменялся подход к мышлению? Как по-другому проектирутся алгоритмы или архитектура? Может на других языках автор начал писать по-другому? Я только издалека посмотрел на rust, так и то интересные идеи почерпнул для своего C++ кода. Абсолютно пустая статья.

defer - штука хорошая на общий случай, но для частных лучше написать своие RAII объекты. тогда

mutex::acquire(m);
defer (mutex::release(m));

Превратится в

mutex::lock lock(m);

Да, нужно писать по своему lock на каждый случай, но зато на строку меньше, не нужен макрос и точно невозможно забыть освободить. defer можно забыть написать, а c одной строкой ошибки уже не будет

В целом верно, но не могу не возразить исключением, которое меня поразило - Венгрия. 9 млн носителей совершенно ни на что не похожего языка отлично справляются с переводами фильмов и другого контента. Сложно найти киносеанс на английском языке - всё переведено. При этом уровень знания английского не лучше, чем в России, один из самых низких в Европе. То есть это очень сильно зависит от конерктной культуры, румыны и западноевропейские страны не парятся и не переводят, а вернгры - переводят.

Максимальные затраты по контракту — $70 млн

Они один запуск Falcon купили? Странные цифры какие-то. Или это будет аренда уже запущенных старлинков? Но вроде написали про запуски и дополнительные функции.

Интересная работа, думал сделать нечто похожее, но руки не дошли. Но не могу не попиарить свой инструмент, который всё же сделал: https://habr.com/ru/companies/crazypanda/articles/516426/

Разбор дампа без знания структуры, просто ищем самые часто встречающиеся 8байт, с большими шансами это указатель на vtbl утёешего класса.

Движки её видят в разы лучше вас, поверьте. Стандартная оценка от Chess.com вполне применима для блица даже на уровне гроссмейстеров. Да, в классике на уровне чемпиона мира она уже может ошибаться чуть-чуть, но хороший ход с грубой ошибкой всё равно не перепутает.

Скорее всего вы просто не анализировали ситуацию и пропустили очень сильный ответ. И ваш оппонент тоже его пропустил. Движок считает с позиции идеального игрока. Единственное, что он упускает - психологический фактор: эмоциональные размены, нехватку времени и тд.

Могу ответить за Венгрию, в Будапеште никаких проблем в магазинах электроники. Как раз в них почти всегда англоговорящие продавцы. А вот во всех остальных местах - да, только венгерский. И это не шовинизм, они просто не знают английского. Ситуаций, когда бы английский знали и принципиально не использовали не встречал. Большинство готовы даже на языке жестов общаться, в основном народ очень дружелюбен к иностранцам.

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

Утверждение неимоверно сильное и поэтому ложное. Я писал на всём "современном": Go, C#, даже чуть на TypeScript и Rust, а на D не только писал, но и преподавал. Особенно сильно у меня пригорело с C#, потому что я думал, что язык продвинутее и современнее старого C++, а по большинству моментов выяснилось обратное. Мы с коллегой даже начинали подборку "WTF это появилось сейчас, а не 15 лет назад", когда супер базовые (с нашей точки зрения) функции и классы появлялись только в самых последних версиях стандарта.

Есть не мало областей, в которых C++ практически на передовой дизайна языков. Да, своеобразно, да сложно, да тонна наследия и обратной совместимости, но после LINQ std::range выглядит как манна небесная.

Есть множество областей, где действительно можно поругать C++ за отсталость: отсутствие пакетного менеджера (CMake FetchContent для меня решает проблему, но не идеально), слабые гарантии безопасности с повсеместным UB, и так далее. Но почему-то я чаще вижу, что его ругают необосновано те, кто не осилил даже синтаксис.

Я каждый раз удивляюсь, когда говорят, что в C++ слабая стандартная библиотека. Да, там нет встроенных сокетов, json, http или 3D движка, но зачем, если для этого есть сторонние библиотеки? Зато есть stl, который даст фору станадртным библиотекам любых популярных языков (не уверен про Rust разве что). Каждый раз, когда я пишу на других языках, я удивляюсь тому насколько мне не хватает stl. И это касается и разнообразия контейнеров, и алгоритмов, и деталей вроде возможности итерироваться по ключам и значениям map одновременно. Stl не совершенен, но в большинстве других языков всё ещё гораздо хуже.

P.S. Ranges деалют stl не только мощной, но и выразительной, за что им большое спасибо.

Физика строит матмодель, математика делает выводы из этой модели. Дробление до бесконечности числа, стоящего за расстоянием, совершенно не означает реального дробления расстояния. В реально мире нет отрицательных длин или мнимых значений, но это не значит, что мы не можем их использовать в изучении матмодели.

Уже отметили выше, но переформулирую. Из бесконечности последовательности шагов Ахилеса на конечной не следует и квантование пространства и времени. Как раз наоборот, если члены последовательности с какого-то момента перестанут ументшаться, то ряд разойдётся и дистанция будет бесконечной. Из того, что мы можем вообразить бесконечную делимость чего-либо совершенно не следует ни бесконечный размер, ни квантование. Апории Зенона отлично решаются матанализом, если вас интресует именно логическая сторона вопроса.

Что-то вы написали какие-то очень несовременные банальности, которые и без авто в языке были проблемами. Авто внёс свои, но ни одну из них вы не затронули. А вся эта игра с числами была всегда, например

float half = 1/2;

Вас же не удивляет, что здесь будет ноль?

Ну а противиться фиче через 12 лет после её внедрения, когда уже со всех сторон разобраны хорошие и плохие её применения, это как-то странно. У меня есть много кода, который без авто либо не написать вообще (сложные шаблоны), либо он будет выглядеть настолько ужасно, что читать его невозможно.

Я сам не люблю, когда авто используют слишком часто, или вообще рекоомендуют использовать везде. Слишком падает читаемость, IDE не всегда спасает. Но совсем отрицать - перебор. Моё личное требование - тип должен быть

  • либо написан в этой же строке кода, условно auto o = new Object();

  • либо быть сложным для написания, но очевидным (auto iter = vec.begin()),

  • либо быть очень сложным или невозможным для написания (сложные шаблонные выводы)

Имеет смысл рассматривать вопросы читаемости, не всем очевидные правила отбросывания ссылок, работу с промежуточными типами вроде vector<bool>::reference, а не вот эти наличия буковки f.

Информация

В рейтинге
1 763-й
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность