Pull to refresh
154
0.3
Григорий@bfDeveloper

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

Send message

Этимология может быть какой угодно, важно значение в современном языке. Вы же не используете слово "санкция" в значении благославление, освящение? А что, 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.

Простите, что докапываюсь до слов, а не содержимого, но очередь точно конкурентная, а не потокобезопасная или многопоточная? Если в английском concurrent (одновременный) тут применимо, то созвучное русское слово ну вообще же не в тему. Это не прямой перевод, не устоявшийся в русском термин.

Напомнило мне вопрос для собесов "Что происходит после того как вы набираете адрес сайта в браузере и жмёте enter". Очень глубокий вопрос, который подходит как новичкам, так и матёрым. При чём хорошо подсвечивает, чем именно человек занимался и на чём фокусировался. Условно админ больше расскажет про резолвинг имён, процесс подключения, JS программист про то, как сайты динамически подгружают сами себя, я вот могу больше про HTTP протокол и SSL handshake. То есть показывает глубину, ширину и область знаний.

Спасибо за статью, как раз то, что хотел почитать, но руки не доходили.

Я правильно понимаю, что можно дообучить таким образом ту же LLaMA на какой-нибудь большой доке и она начнёт ориентироваться в предмете? Или дать очень большой текст (условную войну и мир) и дальше сделать сокращённый пересказ и уточнить детали, пропущенные в нём? Если да, то буду рад разбору задач в будущем, ну или просто ссылкам по теме.

Очередной раз в С++ придумали, как сделать новую фичу на основе уже существующих, вообще для этого не задуманных. Это же почти static exceptions, которые может быть будут в следующих стандартах. И не поймите меня не правильно, мне очень понравилась идея и я даже ею воспользуюсь при необходимости, но почему-то весь С++ состоит из таких вот вещей, что настораживает.

Есть ли бенчмарки или разбор того, как компилятор это оптимизирует? Теоретически это всё сводится примерно к тому же коду, что был на ифах, но осиливает ли компилятор такие оптимизации? Не вносят ли корутины слишком много накладных расходов?

И почему Дейстра сделает 1 653 963 операций? Если в графе всего 5 ребёр, то это максимум 5 итераций, сотоящих из поиска минимума в очереди из не более 5 элементов и вставок в неё же. Это 5 * (log(5) + log(5)), что не более 30 базовых сравнений, а никак не миллион. Формулы же на худший случай, если случай лучше, то это не значит, что будет впустую молотить.

Information

Rating
2,582-nd
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity