Pull to refresh
147
0
Григорий @bfDeveloper

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

Send message

Но proposal-ы стабильно не проходят голосование, потому что вечно находятся причины против UFCS

Вот это, к сожалению, правда. Даже версия с вывернутым наизнанку UFCS не прошла, когда предлагали begin(vec) трактовать как vec.begin(), а не наоборот. В том же D на этом Ranges работают и не надо дополнительно перегружать |. Я не всегда понимаю комитет, порой они уж слишком осторожны.

Я большой любитель ADL и не в курсе, как UFCS его ломает. Может быть есть примеры? Если взять идею из D, где не надо ничего указывать специально и любая функция может быть вызвана как метод на своём первом аргументе, то алгоритм простой:

1) Ищем метод на объекте, если есть зовём

2) Если нет, то ищем функцию по старым правилам, включая ADL.

Что не так?

Имхо, объяснение неверное, или я его не так понял. Компилятор всегда предполагает, что UB в коде нет. Он может так считать, потому что, если оно есть, то любое поведение корректно. Так как UB нет, то цикл не может дойти до индекса i == 4. Единственный вариант не дойти до i == 4 - выйти с true раньше. А дальше уже удаляется ненужный код, так как он не имеет побочных эффектов.

Про поиск столкновений - любой, заявляющий Continuous collision detection, например Unity, или тот же Box2D.

Со стенками из кубиков всё сложнее, общее решение не очень практично, так как требует честного решения СЛАУ. Но небольшими хаками это тоже чинится, например ещё 13 лет назад в Havok стопки из кубиков были вполне стабильны. Если не ошибаюсь, то там было многопроходное решение столкновений.

Это уже давным-давно научились делать правильно. Вместо тел в геометрии поиска столкновений используются вытянутые по их скорости "капсулы". Это позволяет определять все столкновения и высчитывать точный момент столкновения. И шаг времени не приходится избыточно уменьшать.

И статические стенки из коробок тоже уже нормальные движки умеют держать стабильными без этих прыжков и взаимопроникновений. Выглядит как Box2D 10, если не 15 лет назад.

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

Даже если считать с самых первых контактов, то по сравнению с 26 тысячами лет одомашнивания собак, кошки только начали меняться.

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

Кроме того, в иммунитете не так много механизмов против вирусов. То что вы назвали опытом борьбы со всеми частями - меньшая часть противовирусной защиты, основная - антитела. И не так важно к какому белку вируса они выработаны, главное, что его опознают и нейтрализуют.

Кажется вы не раскусили сарказма. Нет такого устойчивого оборота. Есть "на голову выше" и "на шаг впереди". Отсюда и подкол со стороны DreamChild.

P.S. Теперь думаю, может это у меня сарказмометр сломан?

Может быть расскажете, где заказ на Starship или Starlink? Лунную программу не предлагать, в ней старшип оказался уже будучи разработанным, и надо сказать, что он там как слон в посудной лавке. Не под луну он разработан.

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

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

Больше похоже на синдром студента-медика. У вас не самая хорошая зрительная память, у меня, например, тоже, но это не диагноз. То, что вы описываете как афантазию - очень близко к среднему человеку, может быть чуть хуже. А то, что принимаете за норму - очень хорошая память. Фотографической памяти вообще не существует. Есть эйдетизм, но он крайне редок и даже он не даёт возможности запомнить все детали снимка за пару секунд.

Афантазия - довольно серьёзное нарушение, не стоит приписывать себе тяжёлых диагнозов на ровном месте.

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

Главное отличие людей с хорошим образованием от тех, у кого его нет, именно в теоретической подготовке. В знании, какие задачи решаемы, а для каких доказана невозможность решения. В умении задавать правильные вопросы гуглу, чтобы найти нужные алгоритмы/формулы/абстракции. Теоретик без практики сможет разобраться при помощи гугла со сложной задачей, а вот практик без теории - нет, ему понадобятся те самые десятки часов на изучение. И ладно бы время, без базовых знаний очень сложно начать что-то изучать - всё новое и непонятное.

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

Да, согласен, с однотипными каналами ничего не получится. Мне хотелось спасти variant, сделав его таким же красивым как лямбды.

В вашем подходе с лямбдами слегка напрягает использование оператора >>. Имхо, его и в std для потоков не к месту использовали, и продолжать это - плохая идея. Изобретение своего языка внутри C++ начинается. Может быть просто передать по порядку: канал, лямбда, канал, лямбда? Fold expressions в лоб такое не переварят, но подумать можно.

P.S. Забыл в начале поблагодарить. Большое спасибо за пост, очень качественно и полезно.

Самый красивый сахар для получения значения из variant - visit https://en.cppreference.com/w/cpp/utility/variant/visit

При использовании простенького хелпера overloaded можно получить:

 std::visit(overloaded {
       [](auto arg) { std::cout << arg << ' '; },
       [](double arg) { std::cout << std::fixed << arg << ' '; },
       [](const std::string& arg) { std::cout << std::quoted(arg) << ' '; }
 }, v);

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

Русская грамматика не фонетическая, поэтому нет ничего удивительного, что письмо не соответствует звучанию и все давно привыкли. Привыкли игнорировать эти несоответствия.

И накину из свежих наблюдений: ещё полвека назад нормой произношения слова "энергия" было с мягкой "н". Послушайте советские хроники. Сейчас так говорят немногие, обычно "н" твёрдая, хотя по всем правилам чтения старый вариант был правильным, а новый нет. Поэтому не стоит удивляться, когда люди пишут энэргия, они так действительно слышат. Это неграмотно, и я не предлагаю так писать, просто демонстрирую, что по правилу двоечника может получаться совершенно разный результат.

Вы не поверите, но это именно правило двоечника, как вы его назвали. Я в своём произношении слышу совершенно чёткую Й в словах астероид, андроид, рептилоид. Слышу И в выиграл и биткоин, но совсем не ту же, что в слове "властелин", например. Она гораздо короче, она съедается. Произношение у разных людей очень разное даже в нашу эпоху гомогенизированного языка.

Есть одно высказывание, которое мне очень нравится.

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

Умение программировать это не знание синтаксиса определённого языка. Совершенно не важна применимость первого языка. Я студентам вообще Brainfuck рекомендую посмотреть (не как первый, а скорее как 3-4 язык). Да и не совсем понимаю, зачем вообще всех учить программировать, большинство всё равно не справится.

Вы следующий пост читали? Это была первоапрельская шутка. habr.com/ru/post/116784
Подумал ещё и всё же нет, простое колесо ветер не обгонит. Верхняя часть колеса испытывает такое же сопротивление, как и сила толкающая вперёд нижнюю часть. А с учётом плеча, момент вращения у верха даже больше.
Таки для обгона нужно активное изменение площади сечения, чтобы снизу захватывалось больше ветра, а сверху меньше. Работы для этого совершать не надо.
Ну и крыло (в автомобильном смысле) сверху, чтобы верхняя половина двигалась относительно ветра со скоростью оси, а не точки на колесе.
Суть от этого не меняется, у такого аппарата должны быть части, которые движутся медленнее ветра, чтобы от него отталкиваться: основание колеса, киль или вентилятор, как в посте.
И разумеется, это всё не для настоящей аэродинамики, а для простой модели ветра. В реальности есть масса сложных аэродинамических факторов, которые сложно учесть.
Странный спор. Примерно как утверждение, что предметы тяжелее воздуха не могут летать, когда вокруг стаи птиц.
Есть гораздо более простой эксперимент — обычное колесо, катящееся по ветру. Оно обгоняет ветер без особых проблем, потому что нижняя часть колеса вообще неподвижна относительно земли, и её ветер может толкать сколько угодно. В 2.8 раза не обгонит, но если добавить крылышки, которые имеют меленькое сопротивление вверху и большое внизу, разгонится без проблем. Контакт колеса с землёй — киль, остальная поверхность — парус.
И нет, это никакой не вечный двигатель, это использование энергии ветра. Без ветра ничего никуда не поедет.
Заявленные максимальные перегрузки — 3g на взлёте. Да, побольше, чем в самолёте, но не выглядит чем-то страшным. И даже это точно не на весь взлёт, который длится меньше двух минут. На посадке там 5.5g, но это импульсно, поэтому сложно судить, насколько опасно.
Ну и большой вопрос насколько Уолли в хорошей форме.

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity