Обновить
154
0.3
Григорий@bfDeveloper

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

Отправить сообщение
Не совсем, зависит от того, что вы называете машинным кодом. mov это инструкция языка ассемблера, ассемблер — сборщик машинных кодов. Язык ассемблера != машинный код хотя бы потому, что один текстовый, а второй бинарный, но на этом отличия не заканчиваются. Как бы абсурдно не звучало, но сам ассемблер появился как инструмент программирования под разные процессоры, фактически кроссплатформенный тулчейн для языка ассемблера.
Разверну мысль про дельту до Луны и Марса. Трансфер на луну чуть-чуть более экономичный, а вот посадка на поверхность у Луны значительно дороже по затратам топлива. На Марсе есть атмосфера, можно тормозиться об неё, и это экономит массу очень сильно. Позволю себе ссылку на KSP Real Solar System, скорости там правильные:
i.imgur.com/WGOy3qT.png
До луны с НОО надо 2.44+0.68 = 3.12км/с для перелёта и 0.14+0.68+1.72 = 2.6км/с для посадки. Для Марса 3.12+0.48 =3.6 для перелёта и 0 для посадки, если входить в атмосферу сразу, как последние американские марсоходы. Итого Марс доступнее на целых 2.12 км/с. И нет, тепловой щит не окупается этими затратами. Единственный плюс безатмосферного тела — нет проблем с формой и аэродинамикой, можно хоть сборную станцию сажать.
Что же так радикально про увлажнители? Достаточно заливать дистиллированную воду и всё будет хорошо — и влажно, и без частиц. Мембранные фильтры без реминерализатора выдают вполне дистиллированную воду, так что не проблема получать её в любых количествах.
Каждая история знакомства с приведением типов в C и C++ выглядит примерно так — ярко и с ненавистью. Выше уже отметили, что корректного способа это вычислить нет — только не компилировать, что вы можете получить с -Werror.
Вкину ещё, чтобы пожар не гас:
auto foo() {
    uint16_t a = 3;
    uint16_t b = 2;
    return b - a; // int -1
}

auto bar() {
    uint16_t a = 3;
    int16_t b = -3;
    return b/a; // int -1
}

Никаких переполнений и знаковых чисел. Потому что для всех типов меньше int арифметические операции сначала конвертят операнды в int. То есть для маленьких типов всё так, как хочет автор.
Ислам — государственная религия Малайзии, 61% мусульман. Что в этом странного?
Независимо от качества видео и квалификации докладчика пост на хабре из одной лишь ссылки на ютуб — неуважение к читателю. Могли бы хотя бы в сжатом виде привести расшифровку.
Совершенно согласен с посылом, разве что идея писать сразу быстрый код — лютая крайность. Надо сразу закладывать места для оптимизации и думать, как тот или иной участок можно сделать быстрее. Утрировано: если есть место, где сортируется массив, то можно использовать пузырёк, если так быстрее писать код, но это должна быть легко изолируемая функция, которая легко заменяется.
К сожалению в реальности низкая производительность пробирается в интерфейсы и сервис/класс/функция вообще не могут быть хорошо оптимизированы без изменения API. Вспоминая недавнюю историю R*, если функция-геттер опции конфига получает многометровый конфиг в виде zero-termiated строки, то она не может работать быстро.
Или чуть более C++ специфично. Если объект в метод принимает char* или string_view, то он вынужден копировать эту строку, так как не имеет гарантий на срок жизни.
То есть не надо тратить время на супер оптимизированные алгоритмы, но надо задумываться о том, как их потом внедрять.
Первое апреля вроде бы завтра, в не верю происходящему я уже сегодня.
Я совершенно не понимаю, что тут так понравилось публике, что больше 100 плюсов. Разговорный понос, записанный в виде текста, ужимки и прыжки. Что хотел сказать автор? Похвастаться, что он такой умный, что его даже на работу не взяли?
В формате стендапа такое может быть и можно было бы слушать, если бы хоть какой-то смысл за всем этим был, шутки или общая идея.
Про первую помощь и «ничего не делать» вы не совсем правы. Эта рекомендация появилась именно потому, что посчитали вероятности и выяснили, что неграмотная медицинская помощь убивает чаще, чем полное её отсутствие. И вы можете быть абсолютно правы в случае укуса змеи, но большинство других людей сделают хуже, поэтому пусть лучше не трогают. От «помощи» в совершенно не угрожающей жизни ситуации умрёт больше людей, чем от её отсутствия в реально опасной.
Вы скажете, что нужно учить, чтобы в среднем помогать было лучше. И в гипотетическом мире розовых единорогов будете правы, в реальном же мире большинство людей не будут способны к эффективной первой помощи.
Закройте методичку и прополоскайте мозг с мылом. Где я писал про США и противостояние с другими странами? Исходная тема на 100% внутренняя, не надо сюда тащить иностранных агентов.
И даже, если вы приводите это как пример практики в другой стране, то почему её нужно считать хорошей? Недавние блокировки Трампа в соцсетях вызвали немало резонанса, очень многие считают, что это плохо.
Не стал минусовать вас, хотя очень хотелось, давайте попробуем подискутировать. Вам не кажется, что проблема вовсе не в интернете? Что эти блокировки — продолжение оффлайн политики, которую не разделяют многие, но до поры до времени она их не касалась? И в оффлайне паспорта и дубинки ничего хорошего не добавляют, с чего вдруг они помогут интернету?
Вы предлагаете ограничить свободу всех ради тех немногих, кто не понимает, что в интернете есть абсолютно всё. Не хочешь — не смотри, не надо отбирать права у всех.
А так же применительно к нашим реалиям. Любой паспорт или запрет дают полномочия неопределённому кругу лиц, то есть потенциал для коррупции. Спасибо Яровой, сейчас можно купить личные данные, геолокацию и билинги на чёрном рынке. Давайте его дальше раздувать.
В этом смысле, например, пресловутая «Новая Хронология» задала истории много существенных вопросов и заставила ленивых историков шевелиться только благодаря научным регалиям Фоменко.

С этого места поподробнее, пожалуйста. Какая научная работа начата, какие результаты получены? Научно-популярной литературы написали много, даже хорошей. Я, например, читал Зализняка про любительскую лингвистику, очень хорошо написано. Но науку вперёд это не продвинуло. Напротив, вместо науки хороший учёный занимался развенчанием полнейшего бреда. А ведь мог вместо этого совершать научные открытия, расширять горизонты нашего знания.
Нет, конечно. Есть и сговоры и тайные общества. Первых даже иногда судят по обвинению в монополии, а вторые любят смешно одеваться. Это не даёт преимущества конспирологии, это делает её одной из множества гиптоез. А то, что в подавляющем большинстве случаев это слабая гипотеза, в том нет встречного заговора. Просто другие объяснения, как правило, сильнее, лучше подтверждены и выдерживают проверку временем.
Ещё раз, предположения о сокрытии и злом умысле слишком редко оказываются верными, поэтому глупо их рассматривать в первую очередь. Их имеет смысл рассматривать, когда более вероятные и простые объснения оказались неверными, особенно в науке.
Ну уж нет, не трогайте Сократа. Он был скептиком, ставящим всё под сомнение. Конспирология чисто этимологически подразумевает заговор, а не сомнение или кртитику. А заговор — это, во-первых, координированные действия группы лиц или субъектов, во-вторых, тайна. Убийство Цезаря — загвор, а вот гальская война того же Цезаря — нет. Война скоординирована, но совсем не тайно проходит.
Сократ не говорил, что кто-то (люди? боги?) скрывают от него знание, он говорил, что понимает, что мало знает. Утверждение, что кто-то скрытно дейтвует в своих интересах — теория заговора, она же конспирология. Ставить под сомнение свои знания и понятия — критическое мышление. Не стоит их путать.
Не стоит путать единичные действия с долго существующей организацией. Если бы для аннексии панамского канала США требовалось бы долго скрывать своё влияние в властных кругах Панамы и Франции, то это было бы похоже. Но там разовая манипуляция, одна короткая спланированная операция с ограниченным кругом людей. Там нет злонамеренного заговора. Это сильно отличает истории с каналами и политикой от «теорий» чипирования прививками и лунного заговора.
Строго говоря никакая. Очень редко компилятор видит UB и ломает код, чаще он исходит из предположения, что программа корректна, и поэтому делает оптимизацию. А из неверной предпосылки выходит что угодно.
Есть множество статических анализаторов, в том числе и рекламируемых на хабре, которые находят многие случаи UB, плюс динамические вроде ubsan.
Ещё есть опции, запрещающие некоторые оптимизации. Например, -fno-strict-aliasing. Но единого выключателя для UB оптимизаций нет.
Хабр торт!
Большое спасибо за статью. Очень напоминает проблемы strict aliasing, который многие выключают, чтобы не разбираться с этим вот всем. Потеря производительности в обмен на стабильность.
Изумительно! Давно хотел подобным заняться, но осознание объёма работы до первого рабочего алгоритма пугало. Спасибо, что проделали эту часть работы. Можно начинать думать над хорошим ботом для настоящего PvP — цепочки он точно сможет строить куда лучше, чем человек, бой тоже должен легко считаться классическим минимаксом с отсечениями. Пора сдвинуть Szopa666 с его насиженного первого места в топе лобби!
www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0323r7.html
Я использую expected, правда самописный с небольшим улучшением void специализации. Он с одной стороны не создаёт такого шума в обработке, как коды ошибок, с другой гораздо строже исключений и не даёт игнорировать ошибки. И что самое главное, решает пользователь — может ничего не делать и получит исключения, либо проверять коды и не иметь исключений.

Информация

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