Во-первых, опытным путём установлено, что из хорошей юрисдикции не надо вывозить.
Там качество жизни уже самому пасспорт бро может не понравиться, не все готовы к такому дауншифтингу.
Но да, тут вы тоже затрагиваете минимум два разных интересных поинта (фильтрация меркантильно заинтересованных + влияние общества).
Брак оформляется в стране-точке назначения, ну и, казалось бы, браки в чужой стране не дают автоматически никаких грин-карт.
Автоматически — нет, конечно, для неё податься нужно ещё. Но получить гриночку или гражданство по браку — это один из самых простых путей к гражданству заветной страны свободных, и по браку, например, от гринки до интервью на гражданство может пройти три года, а не пять.
А если подать заяву, что пасспорт бро кого-то абьюзит, то эти три года можно даже провести не в браке с пасспорт бро!
Рисковый варик, короче.
По традициям браками решали мелкие или крупные бизнес-проблемы.
Тут моих знаний просто не хватает: как там на исторических масштабах с браками вообще? У меня есть интуитивное впечатление, что у большинства людей не тот социальный статус был, чтобы вообще какие-то бизнес-проблемы иметь, не то что решать.
Сегодня один хорошо сбренчал на гитаре, лет через восемь кто-то другой лучше сбренчит на гитаре, и это значит, что жилище детей надо будет превратить в приют для бомжей.
Люди с нераздолбанными окситоциновыми рецепторами всё же неплохо бондятся, я бы не был бы столь пессимистичен в общем случае. Промискуитет до брака является более хорошим предиктором разводов, чем причина брака, хоть оббренчись.
Но я не бегаю по Хабру и не доказываю, что есть языки лучше.
Да, вместо этого вы бегаете по хабру конкретно за мной и на каждое второе упоминание более других языков начинаете возражать non sequitur'ами. Зачем?
Моя неявная цель — чтобы чуть больше людей узнали про такую штуку, как зависимые типы, что они позволяют, и так далее, и смотрели на системы типов не как на врага народа (хотя после языков вроде джавы или сишки на них только так и смотришь), а на как друга, помощника и чуткую страховку. И это, сюрприз, помогает даже в плюсах!
А ваша неявная (или явная) цель какая?
Поэтому и не нужно разбираться с тем, какие еще смыслы вы туда вкладывали и какая запятая к чему относилась.
Перед этим выводом у вас такое количество неоправданных предположений, что я даже не знаю, с чего начать.
Начну, пожалуй, с того, что лично (пусть и онлайн-онли) знаю минимум троих людей, которые благодаря моим проповедям заинтересовалось темой. Минимум два из них теперь на всяких этих языках пишут профессионально.
Только вот каким бы ни был я сам, вы умным идиотом быть не перестанете.
Ничего страшного, аддитивной константой можно пренебречь.
Пользовался, начиная с этак середины-конца нулевых, когда оно ещё называлось, собсна, vtune (и когда они бесплатные лицензии раздавали для некоммерческого использования), через все переименования во всякие там amplxe-gui, и заканчивая моей текущей работой вот в этом году.
какое "подразделение" Intel его делало? Полюбопытствуйте.
Что, неужто вы — из авторов?
А главное попробуйте поотлаживать на нём многопоточный код. Это невозможно. Он банально падает: раз через два.
УМВР, ЧЯДНТ? Отлаживаю профилирую и многопоточный код, и локфри-ерунду всякую, и прочее счастье.
perf - а что, есть нормальные версии "perf" под Винду? И да, мне нужен профайлер по Windows. Или что? Windows уже запретили?
Ну, сочувствую, что уж. Есть причина, по которой я не пользуюсь Windows даже для хобби-разработок дома: для, собсна, разработки она неюзабельна.
Вот в squad там погонять вечерком — это хорошо, да.
Так же предположу, что эти два множества не пересекаются исключительно в Вашей голове
Если бы оно пересекалось в реальности, то такого количества дыр в опенсорсе бы у нас не было, а оно есть.
Потому что…
И не надо читать, то что написано на заборе. Opensource - это уже давно не некие "альтуристы", пишущие "за всё хорошее".
…я нигде и никогда не говорил, что опенсорс — это альтруисты, и тем более не делал этого в предыдущем комментарии. Более того, я всегда над тезисом, что [юзабельный] опенсорс пишется альтруистами, смеюсь, и смеюсь очень громко.
В предыдущем комментарии мой вопрос был о том, где же люди, умеющие писать код, который не падает и не дырявый (и пишут ли они его за зарплату или нет — неважно).
Олсо, вы:
Ну, наверное потому что у них хорошие должности, оклады, приятная работа. Зачем же им с "с множеством людей, пишущих опенсорс" пересекаться?
вы же прямо следующим абзацем:
критически важную часть всей open-source инфраструктуры (ядро Linux, Kubernetes, браузерные движки, облачные базы данных) создают и поддерживают инженеры на зарплате у корпораций
То есть, вы подряд говорите, что люди, пишущие опенсорс, не пересекаются с множеством людей с окладами и приятной работой, а потом пишете, что опенсорс пишется людьми на окладах у корпораций. Как это работает?
Шиза.
и у нас нет и не может быть общих интересов, предлагаю и далее не пересекаться
Я предпочитаю не пересекаться скорее с теми, кто строит соломенные чучела (ну там, про альтруистов каких-то) и кто не видит взаимоисключающих параграфов в двух абзацах подряд. Ну, не пересекаться всерьёз (или не воспринимать их всерьёз, хз). Ради лулзов всё равно можно.
Ну так и вы можете не сравнивать вместо того, чтобы тут комментарии с критикой писать. Но есть какие-то причины, по котором люди делятся своими наблюдениями, не так ли?
Но для одного конкретного читателя он выглядит гораздо проще: есть C/C++, которые сплошной unsafe, и есть более безопасные языки с парой конкретных примеров оных. И все.
Значит, читателю стоит в следующий раз читать внимательнее и разбираться, какой пример к какому языку относится.
Нет, я не это вам пытаюсь донести.
я пытаюсь донести, что причины экономические
я пытаюсь донести не это
Хм.
Мне кажется, что гораздо проще и гораздо точнее будет просто вас охарактеризовать как умного идиота.
Если у вас с аналогиями хуже, чем у идиота, то что это о вас говорит?
Перед тем, как по традиции жить, надо что-то с юрисдикцией порешать, чтобы другая юрисдикция как-то более с традициями была совместима. Это страны Passport Bros.
У вас устаревшие данные. В целевых странах passport bros просекли фишку и за этих passport bros выходят за гриночку, а не за… за кого, кстати — что средний passport bro из себя представляет?
На сколько месяцев дней хватает зарядки часам с OLED дисплеем при таком режиме?
Fitbit charge 6 — дней 10 сразу после покупки, дней 6-7 сейчас. Но у меня там силовые тренировки три раза в неделю, где оно полтора-два часа активно считывает пульс и тратит куда больше батареи.
Ну, я на Kindle DX в своё время почитал достаточно много разной технической литературы. На 13-дюймовом Onyx'е вообще топ читать: можно сделать режим разворота и иметь две страницы перед глазами. Даже для всяких epub'ов так теперь делаю.
PDF обычно с экрана на работе, благо их три.
А у меня работа из дома, и я лучше во дворе почитаю на свежем воздухе, и тащить туда мониторы — тяжко :]
Что до меня: в проектах только подмножество С++ (почти чистый С++98), POD структуры + подмножество STL, исключения - под запретом. Софты 20 лет без "падений" вообще.
Не верю, сорян.
Почему-то безбажный код без падений и уязвимостей встречается в основном у комментаторов в интернете, и посмотреть и пощупать его никак нельзя. А там, где код пощупать можно, или где им пользуются на самом деле, с падениями, дырами и прочим всё прекрасно: если отфильтровать мой фид по слову «уязв», то там просто сходу dnsmasq exim telnet grub×21 gnupg glibc gstreamer…
Достаточно открыть dnsmasq, и там уже хит-парад всего, за что мы так нежно, горячо и страстно любим сишку:
переполнение буфера в реализации DHCPv6, позволяющее атакующему, имеющему доступ к локальной сети, выполнить код с правами root через отправку специально оформленного пакета DHCPv6.
переполнение буфера в функции extract_name(), позволяющее атакующему подставить фиктивные записи в кэш DNS и добиться перенаправления домена на другой IP-адрес.
Уязвимость вызвана тем, что в функцию check_source() передавалась длина записи OPT вместо длины пакета, из-за чего функция всегда возвращала успешный результат проверки.
чтение из области вне границы буфера при валидации DNSSEC
чтение из области вне буфера в функции extract_addresses()
Это одна (прописью: одна) новость в одном сраном демоне. Это не браузер и не ядро ОС по сложности. Это C-шит-бинго в коде на 35 тысяч строк:
~/Programming/readonly/dnsmasq (master) % cloc .
144 text files.
101 unique files.
50 files ignored.
github.com/AlDanial/cloc v 2.00 T=0.10 s (1008.7 files/s, 897657.3 lines/s)
--------------------------------------------------------------------------------
Language files blank comment code
--------------------------------------------------------------------------------
C 46 7171 4087 35065
Уязвимость вызвана некорректной проверкой границ внутренних буферов функцией iconv(), что может привести к переполнению буфера максимум на 4 байта.
Exim, RCE:
Из-за ошибки в коде бэкенда, несмотря на освобождение TLS-буфера обработчик BDAT продолжает читать данные из потока и вызывает функцию ungetc(), что при отправке следом незашифрованных данных приводит к записи одного байта в уже освобождённый буфер.
Фряха, академический™ код, рут через execve:
Проблема вызвана переполнением буфера в системном вызове execve
RCE в gstreamer, 10 вулнов в одной новости, восемь из них — переполнение буфера переполнение буфера переполнение буфера переполнение буфера переполнение буфера переполнение буфера переполнение буфера, ещё две — целочисленное переполнение (потом наверняка тоже что-нибудь где-нибудь переполняется или не туда лезет):
переполнения буфера в плагине rtp, возникающее из-за отсутствия должной проверки размера и данных при обработке полей X-QDM RTP
переполнение буфера при обработке некорректных координат в субтитрах DVB-SUB
переполнение буфера из-за некорректной проверки размера структур при разборе формата H.266 (VVC, Versatile Video Coding).
переполнение буфера из-за отутствия должных проверок размера при разборе таблиц Хаффмана в изображениях JPEG.
переполнение буфера из-за отсутствия должных проверок размера при разборе заголовков мультимедийных контейнеров в формате ASF.
переполнение буфера из-за некорректной проверки структур при разборе мультимедийных контейнеров в формате RealMedia.
целочисленное переполнение при разборе RIFF-блоков с палитрой в файлах AVI.
целочисленное переполнение в реализвции кодека H.266 при разборе секций с изображениями.
переполнение буфера в реализвции кодека H.266 при разборе APS-блоков.
Где все эти люди, умеющие писать работающий джвадцать лет без единого разрыва код на сишке или плюсах? Почему их множество не пересекается с множеством людей, пишущих опенсорс, используемый на десятках миллионов машин?
У меня, конечно, есть гипотеза (потому, что код у них не падает по принципу неуловимого Джо), но, может, я упускаю что-то?
Подтверждаю, такое может быть. "Глюкавость" ненешних компиляторов
gcc 2.95 — другое дело, понимаю. Вот в молодость-то мою компиляторы были безбажные, стандарт понимали как надо, код генерили как надо!
Но вообще здесь нет глюкавости. Просто санитайзеры никогда не обещали ловить все баги. Любая инструментация меняет код и поэтому может менять его поведение.
Взять те же профайлеры: работающих днём с огнём не сыщешь
Моя основная критика C++ — что это неюзабельный язык с фрактальной сложностью, единственная причина выбирать который для программирования в 2026-м — легаси.
Он не улучшает и не способен улучшить экономику новых проектов.
Этот поинт — это, вообще говоря, экономическое суждение.
Когда вы сравниваете C++ с Haskell-ем или Adga2, вы сравниваете огурцы с ананасами. И те, и другие можно есть, но они не являются друг другу заменой.
А это — другой поинт, и не надо его смешивать с предыдущим. Формально, я сравниваю не C++ с другими языками, а опровергаю утверждения с квантором всеобщности уровня «деление на ноль везде UB» †, или, в нашем с вами прошлом треде, что-то в духе «проверки на выход за границы массива всегда должны быть рантайм».
То, что тезисы вроде † в основном высказываются в контексте плюсов и подобных языков, не означает, что их опровержение обязательно сравнивает языки-контрпримеры с плюсами в сколь угодно осмысленном значении слова «сравнивать».
Этот поинт — это формально-логическое, а не экономическое суждение.
И может быть многие бы хотели бы есть больше ананасов, но даже экономические возможности этого не позволяют. Не говоря уже про другие факторы.
Ну вы же знаете, что будет дальше?
Ровно это может быть использовано как «причина» для ответа в нашем гипотетическом диалоге про «опровержение» производительности плюсов тем, что на них бекенд не пишут.
Это я вам на языке “аналогий” пытаюсь донести то, что вы никак не поймете.
Вы мне пытаетесь донести, что причины — [в том числе] экономические, и я по-вашему этого не понимаю, несмотря на то, что мой первый же ответ вам на эту тему начинался с «В экономике»?
Ну это уже несерьёзно.
Только вот ваши примеры относились не к Rust-у.
Ну это удобно: то, что сравнивал плюсы я с языками, разделяющими safe и unsafe в целом (например, с растом), в одном месте, а про проверку деления на ноль написал в другом месте, где сравнения с плюсами не было — это всё неважно. Мы на это забьём, засунем весь мой комментарий в миксер, переставим в нём слова как удобно и потом будем отважно спорить с соломенными чучелами.
Топ стратегия.
ХЗ, я не пишу код Андроида.
Ну вот подсказка: в 2025-м вроде как были новости, что количество нового кода на расте превысило количество кода на плюсах.
тратить время на разбирательства с падениями из-за порчи памяти жалко
А могли бы позвать многочисленных комментаторов с хабра (и заодно с опеннета) — они знают, как надо, и пишут безбажный код по их словам!
Пока, к сожалению, из адекватных замен только Rust.
Смотря для чего. В моих задачах адекватная замена — DSL'и на хаскеле.
Здесь ничего и близко нет к тому, о чем я вам говорю.
А как называется переход от «язык позволяет выражать такие-то вещи [невозможность делить на ноль]» к «а чего тогда на нём не пишут $X, где эти вещи не являются определяющим фактором»?
Чем это отличается от перехода от «язык позволяет выражать такие-то вещи [более легко оптимизируемые программы]» к «а чего тогда на нём не пишут $Y, где эти вещи не являются определяющим фактором»?
Здесь есть несколько неявных пресуппозиций, конечно, но я уверен, у вас получится назвать, с какой именно вы несогласны, если вы скажете, что принципиальные отличия таки есть.
Сперва вы говорили про то, что C/C++ один большой unsafe, после чего перешли к более безопасным языкам.
Как там говорили великие? А, во:
Здесь ничего и близко нет к тому, о чем я вам говорю. Как по мне, так это какое-то говно, к которому я не имею никакого отношения от слова совсем. Но вы что-то за меня додумываете и потом с этим же додуманным старательно сражаетесь, да еще и приписывая подмены мне.
Впрочем, да, если брать исходный комментарий не только в том месте, к которому вы «ответили», то да, сравнение C++ с другими языками там есть. Правда, на том же расте пишут и ОС, и браузеры. Сколько там нового кода в андроиде на плюсах, а сколько — на расте?
Тогда может не надо обвинять собеседника в собственных грехах? Вы делаете подмены, вы же от меня просите объяснить вам не прибегая к подменам.
Я вам показываю аналогией, как ваш «аргумент» выглядит в другом контексте. В каком месте это мой грех, если моя цель — перенести структуру вашего «аргумента» на, надеюсь, понятный вам контекст?
Но судя по тому, что некорректность вы таки увидели, половина дела сделана. Осталась вторая половина — чтобы вы увидели то же самое в ваших исходных словах.
Где-то здесь. Где вы заговорили про более другие языки.
Я сравнил этот более другой язык с хаскелем (на котором был предыдущий пример), потому что в хаскеле система типов недостаточно выразительна.
Перевод темы с “бекенда веб-сайтов” на “плюсы быстрее рубей или питона” вообще еще “не подмена” или же уже “подмена”?
Подмена, конечно. Я же даже N комментариями выше начал с «настолько же», потому что разговор выглядел так: — Другой чувак: UB при делении на ноль универсально. — Я: нет, вот пример. — Вы: а чего тогда на этих языках не пишут ОС и браузеры?
Это вообще ничем не отличается по сути от гипотетического: — Другой чувак: питон так же быстр, как C++. — Вы: нет, вот пример. — Я: а чего тогда на C++ не пишут бекенды?
Плюсы отбивают возможность видеть аналогии, или что?
Вы определитесь уж, допускаете вы стратегию «вы всё не так поняли я не это имел в виду я этого не говорил вообще не говорил», или нет.
Двойные стандарты меня печалят сильно больше, чем любая техническая критика или даже называния идиотом.
Там качество жизни уже самому пасспорт бро может не понравиться, не все готовы к такому дауншифтингу.
Но да, тут вы тоже затрагиваете минимум два разных интересных поинта (фильтрация меркантильно заинтересованных + влияние общества).
Автоматически — нет, конечно, для неё податься нужно ещё. Но получить гриночку или гражданство по браку — это один из самых простых путей к гражданству заветной страны свободных, и по браку, например, от гринки до интервью на гражданство может пройти три года, а не пять.
А если подать заяву, что пасспорт бро кого-то абьюзит, то эти три года можно даже провести не в браке с пасспорт бро!
Рисковый варик, короче.
Тут моих знаний просто не хватает: как там на исторических масштабах с браками вообще? У меня есть интуитивное впечатление, что у большинства людей не тот социальный статус был, чтобы вообще какие-то бизнес-проблемы иметь, не то что решать.
Люди с нераздолбанными окситоциновыми рецепторами всё же неплохо бондятся, я бы не был бы столь пессимистичен в общем случае. Промискуитет до брака является более хорошим предиктором разводов, чем причина брака, хоть оббренчись.
Да, вместо этого вы бегаете по хабру конкретно за мной и на каждое второе упоминание более других языков начинаете возражать non sequitur'ами. Зачем?
Моя неявная цель — чтобы чуть больше людей узнали про такую штуку, как зависимые типы, что они позволяют, и так далее, и смотрели на системы типов не как на врага народа (хотя после языков вроде джавы или сишки на них только так и смотришь), а на как друга, помощника и чуткую страховку. И это, сюрприз, помогает даже в плюсах!
А ваша неявная (или явная) цель какая?
Перед этим выводом у вас такое количество неоправданных предположений, что я даже не знаю, с чего начать.
Начну, пожалуй, с того, что лично (пусть и онлайн-онли) знаю минимум троих людей, которые благодаря моим проповедям заинтересовалось темой. Минимум два из них теперь на всяких этих языках пишут профессионально.
Ничего страшного, аддитивной константой можно пренебречь.
Пользовался, начиная с этак середины-конца нулевых, когда оно ещё называлось, собсна, vtune (и когда они бесплатные лицензии раздавали для некоммерческого использования), через все переименования во всякие там amplxe-gui, и заканчивая моей текущей работой вот в этом году.
Что, неужто вы — из авторов?
УМВР, ЧЯДНТ?
Отлаживаюпрофилирую и многопоточный код, и локфри-ерунду всякую, и прочее счастье.Ну, сочувствую, что уж. Есть причина, по которой я не пользуюсь Windows даже для хобби-разработок дома: для, собсна, разработки она неюзабельна.
Вот в squad там погонять вечерком — это хорошо, да.
Если бы оно пересекалось в реальности, то такого количества дыр в опенсорсе бы у нас не было, а оно есть.
Потому что…
…я нигде и никогда не говорил, что опенсорс — это альтруисты, и тем более не делал этого в предыдущем комментарии. Более того, я всегда над тезисом, что [юзабельный] опенсорс пишется альтруистами, смеюсь, и смеюсь очень громко.
В предыдущем комментарии мой вопрос был о том, где же люди, умеющие писать код, который не падает и не дырявый (и пишут ли они его за зарплату или нет — неважно).
Олсо, вы:
вы же прямо следующим абзацем:
То есть, вы подряд говорите, что люди, пишущие опенсорс, не пересекаются с множеством людей с окладами и приятной работой, а потом пишете, что опенсорс пишется людьми на окладах у корпораций. Как это работает?
Шиза.
Я предпочитаю не пересекаться скорее с теми, кто строит соломенные чучела (ну там, про альтруистов каких-то) и кто не видит взаимоисключающих параграфов в двух абзацах подряд. Ну, не пересекаться всерьёз (или не воспринимать их всерьёз, хз). Ради лулзов всё равно можно.
Ну так и вы можете не сравнивать вместо того, чтобы тут комментарии с критикой писать. Но есть какие-то причины, по котором люди делятся своими наблюдениями, не так ли?
Значит, читателю стоит в следующий раз читать внимательнее и разбираться, какой пример к какому языку относится.
Хм.
Если у вас с аналогиями хуже, чем у идиота, то что это о вас говорит?
У вас устаревшие данные. В целевых странах passport bros просекли фишку и за этих passport bros выходят за гриночку, а не за… за кого, кстати — что средний passport bro из себя представляет?
Fitbit charge 6 — дней 10 сразу после покупки, дней 6-7 сейчас. Но у меня там силовые тренировки три раза в неделю, где оно полтора-два часа активно считывает пульс и тратит куда больше батареи.
Ну, я на Kindle DX в своё время почитал достаточно много разной технической литературы. На 13-дюймовом Onyx'е вообще топ читать: можно сделать режим разворота и иметь две страницы перед глазами. Даже для всяких epub'ов так теперь делаю.
А у меня работа из дома, и я лучше во дворе почитаю на свежем воздухе, и тащить туда мониторы — тяжко :]
Не верю, сорян.
Почему-то безбажный код без падений и уязвимостей встречается в основном у комментаторов в интернете, и посмотреть и пощупать его никак нельзя. А там, где код пощупать можно, или где им пользуются на самом деле, с падениями, дырами и прочим всё прекрасно: если отфильтровать мой фид по слову «уязв», то там просто сходу dnsmasq exim telnet grub×21 gnupg glibc gstreamer…
Достаточно открыть dnsmasq, и там уже хит-парад всего, за что мы так нежно, горячо и страстно любим сишку:
Это одна (прописью: одна) новость в одном сраном демоне. Это не браузер и не ядро ОС по сложности. Это C-шит-бинго в коде на 35 тысяч строк:
В других программах всё то же самое. Вот наваливающие базу деды© с glibc:
Exim, RCE:
Фряха, академический™ код, рут через execve:
RCE в gstreamer, 10 вулнов в одной новости, восемь из них — переполнение буфера переполнение буфера переполнение буфера переполнение буфера переполнение буфера переполнение буфера переполнение буфера, ещё две — целочисленное переполнение (потом наверняка тоже что-нибудь где-нибудь переполняется или не туда лезет):
Где все эти люди, умеющие писать работающий джвадцать лет без единого разрыва код на сишке или плюсах? Почему их множество не пересекается с множеством людей, пишущих опенсорс, используемый на десятках миллионов машин?
У меня, конечно, есть гипотеза (потому, что код у них не падает по принципу неуловимого Джо), но, может, я упускаю что-то?
gcc 2.95 — другое дело, понимаю. Вот в молодость-то мою компиляторы были безбажные, стандарт понимали как надо, код генерили как надо!
Но вообще здесь нет глюкавости. Просто санитайзеры никогда не обещали ловить все баги. Любая инструментация меняет код и поэтому может менять его поведение.
vtune? perf? Не, ерунда какая-то.
А, сорян, вопросов больше не имею. В список к gcc 2.95 можете добавлять VC6 — тоже известный своей безбажностью инструмент.
Моя основная критика C++ — что это неюзабельный язык с фрактальной сложностью, единственная причина выбирать который для программирования в 2026-м — легаси.
Он не улучшает и не способен улучшить экономику новых проектов.
Этот поинт — это, вообще говоря, экономическое суждение.
А это — другой поинт, и не надо его смешивать с предыдущим. Формально, я сравниваю не C++ с другими языками, а опровергаю утверждения с квантором всеобщности уровня «деление на ноль везде UB» †, или, в нашем с вами прошлом треде, что-то в духе «проверки на выход за границы массива всегда должны быть рантайм».
То, что тезисы вроде † в основном высказываются в контексте плюсов и подобных языков, не означает, что их опровержение обязательно сравнивает языки-контрпримеры с плюсами в сколь угодно осмысленном значении слова «сравнивать».
Этот поинт — это формально-логическое, а не экономическое суждение.
Ну вы же знаете, что будет дальше?
Ровно это может быть использовано как «причина» для ответа в нашем гипотетическом диалоге про «опровержение» производительности плюсов тем, что на них бекенд не пишут.
Вы мне пытаетесь донести, что причины — [в том числе] экономические, и я по-вашему этого не понимаю, несмотря на то, что мой первый же ответ вам на эту тему начинался с «В экономике»?
Ну это уже несерьёзно.
Ну это удобно: то, что сравнивал плюсы я с языками, разделяющими safe и unsafe в целом (например, с растом), в одном месте, а про проверку деления на ноль написал в другом месте, где сравнения с плюсами не было — это всё неважно. Мы на это забьём, засунем весь мой комментарий в миксер, переставим в нём слова как удобно и потом будем отважно спорить с соломенными чучелами.
Топ стратегия.
Ну вот подсказка: в 2025-м вроде как были новости, что количество нового кода на расте превысило количество кода на плюсах.
А могли бы позвать многочисленных комментаторов с хабра (и заодно с опеннета) — они знают, как надо, и пишут безбажный код по их словам!
Смотря для чего. В моих задачах адекватная замена — DSL'и на хаскеле.
Поэтому, если присмотреться, то можно заметить там
if, проверяющий ровно это.Это аргумент не в пользу C, если что.
И для протокола язык C определяется как то, что соответствует стандарту. Если реализация не соответствует стандарту, то это не язык C.
А как называется переход от «язык позволяет выражать такие-то вещи [невозможность делить на ноль]» к «а чего тогда на нём не пишут $X, где эти вещи не являются определяющим фактором»?
Чем это отличается от перехода от «язык позволяет выражать такие-то вещи [более легко оптимизируемые программы]» к «а чего тогда на нём не пишут $Y, где эти вещи не являются определяющим фактором»?
Здесь есть несколько неявных пресуппозиций, конечно, но я уверен, у вас получится назвать, с какой именно вы несогласны, если вы скажете, что принципиальные отличия таки есть.
Как там говорили великие? А, во:
Впрочем, да, если брать исходный комментарий не только в том месте, к которому вы «ответили», то да, сравнение C++ с другими языками там есть. Правда, на том же расте пишут и ОС, и браузеры. Сколько там нового кода в андроиде на плюсах, а сколько — на расте?
Я вам показываю аналогией, как ваш «аргумент» выглядит в другом контексте. В каком месте это мой грех, если моя цель — перенести структуру вашего «аргумента» на, надеюсь, понятный вам контекст?
Но судя по тому, что некорректность вы таки увидели, половина дела сделана. Осталась вторая половина — чтобы вы увидели то же самое в ваших исходных словах.
Я сравнил этот более другой язык с хаскелем (на котором был предыдущий пример), потому что в хаскеле система типов недостаточно выразительна.
Подмена, конечно. Я же даже N комментариями выше начал с «настолько же», потому что разговор выглядел так:
— Другой чувак: UB при делении на ноль универсально.
— Я: нет, вот пример.
— Вы: а чего тогда на этих языках не пишут ОС и браузеры?
Это вообще ничем не отличается по сути от гипотетического:
— Другой чувак: питон так же быстр, как C++.
— Вы: нет, вот пример.
— Я: а чего тогда на C++ не пишут бекенды?
Плюсы отбивают возможность видеть аналогии, или что?
Где я в этой ветке сравнивал C++ хоть с чем-то?
Попробуйте объяснять не подменами — может получиться!
Хм, C++-ники никогда не утверждали, что плюсы быстрее рубей или питона?
Или вы не это имели в виду?
Настолько же, насколько плюсы «тупо неэффективны» потому, что для бекенда веб-сайтов чаще всего выбирают не C++.
А противоречия у них в чём, из которых бы мир состоял?
Памятуя о наших прошлых встречах, думаю, у меня с этими тремя состоялся бы более конструктивный разговор, чем у вас, к слову, ну да ладно.
В экономике. Цена ошибки в браузере, ОС или офисном пакете меньше цены разработки на верифицированном языке.
Я так-то и обычные тесты не везде писал так-то, потому что не везде цена написания тестов покрывается их профитом.