Надо просто на более старом стандарте писать.
Весь тот сахар, что добавляют новые стандарты С++ лишь усложнают прототипирование и архитектуру в целом из-за чего и появляется возможность для выстрела себе в ногу.
На личном опыте скажу: Писать код на С++ удобно, но вот Классы это особый вид необходимого мазахизма
Неожиданно, на самом деле. Хотел поржать, какой функциональный подход, но быстрый фактчекинг показал, что
Паттернматчинг завезли в четырнадцатом стандарте
Хвостовая рекурсия возможна
Иммутабельность пока не завезли
Монады на темплейтах можно сделать
Ну а я о чём. Мультипарадигменный язык. Функциональщина хоть и не полная, но достаточная, плюс никто не заставляет её использовать в чистом виде.
Я ещё натыкался на мнение, что и процедурный подход вовсе не так плох, как его заядлые оопшники описывают. Короче, всё упирается в задачи, возможности и другие параметры.
Можно просто писать на Си. Старичок ещё на что-то годится, особенно когда дело касается железок и прочего. У нас тут десятилетиями ничего не менятся. :3
Да это просто пушку от детей прячут на верхнюю полку=) Сейчас такие "программисты" пошли... выучатся на своих шестимесячных курсах. А потом такого спросишь за, например, железо, а он такой "а не, я не знаю, я себе ноут купил и работаю себе" - тьфу. Вот и нафиг таким С++ давать нюхать? Пусть себе кодят дальше на своих js.
Нет, друг мой.
Отстрелить себе хер ты можешь в какой-нибудь java(даже несмотря на то, что предохранитель там имеется - кого блять это когда останавливало?).
В С++ ты случайно можешь взорвать себя целиком к хуям.
Сложность вытекает из необходимости следить за тем, о чём в других языках даже думать не нужно, что вытекает из "небезопасности" (ну и не только из неё, конечно)
Вопрос не в том, отслеживает ли "погромист" ресурсы или нет, а в том, что какие-то языки не позволяют тебе сделать ряд ошибок/наплодить уязвимостей, которые ты запросто можешь сделать в плюсах.
Ты спросил, почему людям "не нравится" с++ - это одна из главных причин.
Блять, ты либо C++ не знаешь, либо строишь из себя невесть что.
Классика, типа чтения строки "до конца", когда в ней конец не отмечен тебе знакома?
Забывание очищать память после использования тебе знакомо?
Шибко умный и на ассемблере всё написать может, только вот зачем?
Собственно, в С/С++ ничего не мешает читать строку и после отметки её конца, вот в чём дело.
Не, я такое и на java смогу сделать, но там придется поебаться, чтобы прочесть или записать адрес за пределами длины строки.
В плюсах же это просто str[length+some_num], без всяких выебонов.
Он не совсем про это.
Он про то, что если в конце строки в си(++) проебать нолик, то любые стандартные действия с этой строкой(ну, не любые, но многие), приведут к достаточно рандомным последствиям. От попердоливания данных до секьюрити дыры и взрыва приложения.
Я же про попытку обратиться к символу/подстройке за пределами нормально законченной строки.
Впрочем, это следствия одного и того же, строка это тупо указатель. И всё остальное, кстати, тоже.
В первую очередь это следствие возможности прямой работы с памятью по произвольному адресу. Штука хорошая и ценная, в определённых условиях, но в 99% случаев - опасная и легко проёбываемая. По этому в более современных языках она по умолчанию спрятана за семью замками.
Всё знакомо, и забивать гвозди микроскопом - тоже знакомо.
Если "программист" забывает освобождать память, то это не проблема языка (там есть соответствующая процедура), а проблема "погромиста". Я люблю программировать микроконтроллеры, и они работают, а все эти ваши "забыл, не понял, просмотрел" - отмазка для дураков, не умеешь - учись, не можешь - не лезь.
Конечно, если ты в основном микроконтроллеры программируешь, то оно так и видится. Только вот из твоей логики так же следует, что типы данных ввели тоже для дураков - хули люди выделяют под свою переменную 8 бит, когда им по факту нужно только 7, а в 8м бите можно булевский флаг держать? Если кто в этом запутался - так это он просто хреновый программист.
Правда же в том, что любой программист регулярно где-то ошибается и потом тратит время на поиски этих своих ошибок. И С++ даёт больше возможностей оптимизации производительности ценой больших трудозатрат на ловлю ошибок, которые в C# программист физически не сможет совершить специально для этого не выебнувшись. Очевидно что C++ прекрасен для низкоуровневых алгоритмов высокой нагруженности. Но использовать его для enterprise разработки - это и есть забивание гвоздей микроскопом.
Для высоконагруженной тоже используется что-то высокого уровня, с включениями С или же прямой работой с памятью выделенных местах.
Конкретно С++ тут оказывается не нужен, только С в связке с основным языком - там, где максимально узко, и таких мест немного. Логика пишется на чём-то более безопасном и удобном, по очевидным причинам.
Раст вроде и выезжает за счет более безопасной работы с памятью. Правда синтаксис там ебануться просто.
С другой стороны за производительность приходится чем-то платить. Все эти сборщики мусора и проверки безопасности - те еще тормозилки. Где не надо риал тайма и задача упирается не в CPU, а в IO - наворачивайте свою безопасность.
А вот где нужен риалтайм, то тут уже приходится платить Сишке(а то и ассемблеру) дань безопасностью
А ты посмотри на количество модификаторов методов/функций и полей/переменных, а ещё на способы описания входных параметров, на все эти rvalue, lvalue, move-copy семантики, 100500 вариантов конструкторов и прочие "вот так в километровую строку писать правильно". Я хер знает, как все эти тонкости в голове держать.
С наскоку и по памяти. Потому что пытался взять "всё хорошее", но получилась какая-то разнородная масса. Слишком много способов сделать одно и тоже (инициализировать поле экземпляра в конструкторе могу тремя способами). Стандартного пакетного менеджера (с разрешением зависимостей) и системы сборки нет, у каждой команды свой колхоз. На кой-то хер различаются ссылки на &lvalue и &&rvalue (ака временные объекты). Без примеров я хер вспомню, как в плюсах написать свой итератор. Метод вывода строкового представления в поток надо присобачивать через friend для ostream. Что-то похожее на интерполяцию строк вроде добавили в последних стандартах, да? Ну и противное Сишное наследие в виде необходимости разделения заголовков и сорцов до кучи (ладно, это можно сбагрить на ide). Но уж лучше плюсы, чем голый Си без классов и шаблонов. Короче, никакого удовольствия процесс программирования на плюсах не даёт, если ты не мазохист.
Все пишут, потому что:
1. Так повелось и сильно дофига софта на нём уже написано
2. Он быстрый (без vm и gc)
3. Не все разобрались с lifetime'ами и borrow checker'ом в Rust
4. Легче найти разработчиков, потому что цпп в учебной программе большинства вузов
Кстати, насколько я знаю тимплейты в с++ тот еще геморой для дебага. Так как исходники темплейта банально развертываются в копипасту всех возможных вариантов аргументов темплейта в нетемплейтном виде, и соотвественно дебагер не может замапить развернутый код темплейт в исходник темплейта. Но это со слов кореша плюсовика.
100 %, может я проебался в понимании. Но вот например наткнулся еще на такую статью. https://devblogs.microsoft.com/oldnewthing/20200528-00/?p=103804
Вот что там пишут:
"But unlike Prolog, the C++ template metaprogramming language doesn’t have a debugger. You just feed your code to the compiler, and you get a few possible results:
It fails to compile.
It compiles and gives you what you want.
It compiles and gives you something that wasn’t what you want."
Может быть я не правильно понял, и имеется ввиду дебаг самого темплейта.
А ну так тут речь про метопрограммирование. И не абы какое, а статическое. Это когда, например, какое-то число вычисляется прям на этапе компиляции, и в исполняемый файл зашивается сразу результат. Типа такого https://gist.github.com/opavlyshak/5467592. Да это действительно никак не отладить, но и пишут такой код далеко не все и далеко не каждый день. Я, честно говоря, даже не знаю в каком еще языке так можно
Не то чтобы все пишут. Там, где он хорошо подходит: где важна каждая копейка производительности, прямой доступ к железу, поддержка уже написанного.
Не нравится фирмам из-за более высокой стоимости разработки (больше человеко-часов на расчётный показатель). Не нравится разработчикам из-за сборной солянки костылей.
я учился на С++. хотел работать с ним, но не сложилось, и я занялся БД. грубо говоря, есть два способа разбить яйцо - правильный и не правильный. Так получилось что "не правильно" с точки зрения другого программиста или по объективным причинам на С++ разбить яйцо гораздо проще чем на той же джаве, где есть модный фреймворк "разбиваем яйца".
Изза этого с С++ много головной боли. Ты можешь на нем кодить, но на собеседовании из тебя вынут душу каким-то примером, который надо решать как-то определённым образом. или накодить свою часть кода в существующий проект чтобы потом ломать голову над тем, почему проект с твоим кодом ведет себя как-то не так. Все это делает жизнь труднее, чем в той же джаве, например, где многие вещи вообще делает система за тебя - чистит память например.
Это не значит что он плохой. просто твоих личных страданий может быть больше.
А вот у меня наоборот после плюсов жопа горела от джавы. На вопросы "как сделать X в java" раз через два получал ответ "Никак". Плюс к этому используемые без меры исключения, какая-то ебля с боксингом анбоксингом, ссылочные/нессылочные типы, кастрированные дженерики. Может быть дело в эффекте утенка, но джаву я, короче, так и не доучил
ну. у меня ни от чего особо не горело. просто мой уровень программирования был (и есть) не особо выдающийся. Поэтому в начале карьеры я проваливал собеседования по с++ по причине того, что я не знал каких-то любимых именно в этом месте структур или знал их недостаточно.
из своего опыты мне кажется что везде можно сделать что-то как-то. Просто конкретно в джаве много зависит от фреймверка. если какой-то спринг чего-то не мог, то предлагалось не хотеть невозможного, потому что всем нравится спринг и никто не хочет ничего менять.
Как это работает - всё написано на С++, при этом он сложнее прочих, но платят за него меньше и работу х*й найдёшь? Это даже читается, как баг в матрице.
Ну смотри:
1. С - это великий язык, он лежит в основе всего, кроме того, где в основе - богоподобный Ассемблер. Веб-сервера, браузеры, базы данных, умная розетка и автомобиль - все имеет в своей основе С. Но он сложный, так как он более низкоуровневый, и менее абстрактный.
С++ зародился как расширение/развитие идеологии С, но с добавлением абстракций, типа объектов, классов, сущностей и т.д. Грубо говоря, тебе как разработчику уже надо было мыслить не типами данных (строка, целое число) и функциями, а ближе к реальности - объектами. Стало гораздо удобнее, гибче и сильнее.
2. Плюсы оказались практически везде. И огромное коммьюнити дописывало свои инструменты. Сейчас, при знании, какие библиотеки использовать, можно выполнить задачу любой сложности, начиная от программирования для чипов в реальном времени, заканчивая моделированием закрытой сети обмена данными с высочайшим уровнем защиты.
3. Плюсы - это не хайп. Это не безопасная корпоративная Java, где отстрелить себе хер практически невозможно, это не "модный" JS и его вариации, где можно написать даже самый херовый код - и он раком-боком, но выполнится. В плюсах ты можешь сделать что угодно, но и ошибка может вылезти в самых неожиданных местах, и никто тебя от нее не защитит, кроме прямоты твоих рук.
4. Засчет вышеперечисленных факторов, научиться писать хороший код на плюсах - это значит сфокусироваться на определенной сфере, но быть универсалом, понимать скрытое функционирование кода и уметь работать с памятью на низком уровне и уметь писать эффективный код, даже будучи джуном, потому что у сеньора обычно задачи на порядки сложнее и не всегда достаточно времени на глубокую проверку того, что ты написал.
5. Из-за этого кажется, что затраченные силы на обучение не соотносятся с оплатой, а работы мало, так как мало кто готов рискнуть взять на работу человека без опыта (хотя, если есть некоммерческий - это большой плюс). И все защищаются меньшей оплатой, снижая потери в случае увольнения по несоответствию заявленной квалификации.
не люблю такие холивары. если ктото может решить задачу на языке Х, значит язык Х достаточно хорош. В конечном счет важен финальный продукт, а не язык. Да. тут ктото скажет, что с++ охуенно производительный, говно вопрос - ассемблер вообще ракета. А еще можно логику прямо в процессор прошить, вообще будет заебись.
Если вы смогли решить задачу так чтобы заказчик или вы сами, если вы сам себе заказчик, остались довольны - вы уже охуенны, а ваш язык программирования достаточно хорош.
У них есть помимо языка ещё foundation, руководство которого периодически вываливает какую-то дичь. То трейдмарк полиси ебанутую, то главного спикера убирают с собственной конференции со скандалом
Когда Гендальф был ещё юн и появились компьютеры, встал вопрос - как биты/байты взад-вперёд таскать?
Один умный хоббитс сказал - сделал mem_alloc и раз-раз вот так, раз-раз-раз.
Применений было мало, людей, умеющих писать буферы было много.
И было написано много хорошего софта в Шире.
Всем такой бум понравился, но пришёл ушлый Менеджер-чародей, который не хотел платить зарплаты, а хотел MVP в продакшен. И были наняты урки-девелопперы. Много планок оперативы было сожжено, пока не пришли виртуальные машины.
С тех пор низкоуровненый мемори менеджмент и высокорувневый прикладной макакинг не встречались.
Но буря сношенных мамок краснеет за горизонтам, каждый раз когда пк-порт спотыкается об 30 фпс. Судьба создаст новых героев, которые сводят на свидание мам жадного Менеджера, пройдут по боллотам легаси поддержки и победят дракона Лагает-Купи.
Перевёл его ник (0xFEOD) в десятиричную систему, загуглил, нашлись тормозные колодки (P 65 037), сделал вывод что парень на серьёзную аналитику не претендует, плюсы хейтит чисто для важности. Мой опыт разработки на с++ - 8 лет
Замечаю, что больше всех "хейтят" как раз те, кто почти на нем не писал. Попробовали в самом начале - не зашло и теперь всю оставшуюся жизнь рассказывают всем какой это плохой язык :)
Не знаю, что именно под "хейтом" ты понимаешь, но я вот плюсы не люблю. Пишу на них давно, последний раз дебажил - вчера. И при этом считаю его суб-оптимальным для всех задач, кроме низкоуровневых. И то, не потому, что он такой крутой, а инфраструктуру для других языков не завезли просто. Я думаю, что "любят" плюсы именно плюсовики, которые на других языках писали сильно меньше.
> Я думаю, что "любят" плюсы именно плюсовики, которые на других языках писали сильно меньше.
Так это обратная сторона той же монеты. В крайности как раз такие люди и бросаются, люблю\ненавижу.
А здоровое отношение - это подходит\не подходит, уместно\не уместно.
С++ не сложный, это просто какой-то миф. Ну вот я уже давно кодаю на С++, и недавно пришлось пересесть на Котлин, и конечно же нихуя не понятно. Потому что я пока мало изучил этот язык. Так что проблема в новичках, которые ноют, а не в языке.
Так ты не изучил, а сравниваешь. Смешно. Вот когда, узнаешь еще пару современных языков до того же уровня что знаешь плюсы - сравнишь. Уверен, не в ползу последнего.
Любой программист ошибается в жизни дважды: первый раз при рождении, второй раз при выборе специальности. Программист на C++ же ошибался в жизни минимум трижды.
Собеседование по С++
Ты забыл что создание итрие_р1г
через таке_ип1дие
не имеет смысла после С++14
Но так сохраняется однородность с $Иагес1_р!г
Собеседование по
Хуйнем ОрепС\/ И обмажем нейронками
Николай Говоров
@govorov_n
Книги по python: ути-пути, переменная это коробочка для данных. Их можно читать и записывать!
Книги по C++:поговорим про системы счисления, аллокатор и адресную арифметику.
13:33 ■ 15 апр. 21 ■ Twitter for Android
7 Отметки(-ок) «Нравится»
QUO
Sergey Ponomarev is
Риск ошибки велик. Считай как на нейрохирурга учиться
Весь тот сахар, что добавляют новые стандарты С++ лишь усложнают прототипирование и архитектуру в целом из-за чего и появляется возможность для выстрела себе в ногу.
На личном опыте скажу: Писать код на С++ удобно, но вот Классы это особый вид необходимого мазахизма
Паттернматчинг завезли в четырнадцатом стандарте
Хвостовая рекурсия возможна
Иммутабельность пока не завезли
Монады на темплейтах можно сделать
Любопытно, спасибо
Я ещё натыкался на мнение, что и процедурный подход вовсе не так плох, как его заядлые оопшники описывают. Короче, всё упирается в задачи, возможности и другие параметры.
https://medium.com/software-design/pattern-matching-in-c-14-79f4409c1228
Но да, если пройти по ссылке - это все ещё экспериментал и будет в, возможно, в 23
Заголовок ввел в заблуждение
В С вы можете выстрелить себе в ногу. В С++ выстрелить себе в ногу сложнее, зато, если у вас получится, её оторвёт
Отстрелить себе хер ты можешь в какой-нибудь java(даже несмотря на то, что предохранитель там имеется - кого блять это когда останавливало?).
В С++ ты случайно можешь взорвать себя целиком к хуям.
https://ru.wikipedia.org/wiki/%D0%91%D0%B5%D0%B7%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D0%BE%D1%81%D1%82%D1%8C_%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%B0_%D0%BA_%D0%BF%D0%B0%D0%BC%D1%8F%D1%82%D0%B8
Сложность вытекает из необходимости следить за тем, о чём в других языках даже думать не нужно, что вытекает из "небезопасности" (ну и не только из неё, конечно)
Ты спросил, почему людям "не нравится" с++ - это одна из главных причин.
Классика, типа чтения строки "до конца", когда в ней конец не отмечен тебе знакома?
Забывание очищать память после использования тебе знакомо?
Шибко умный и на ассемблере всё написать может, только вот зачем?
Не, я такое и на java смогу сделать, но там придется поебаться, чтобы прочесть или записать адрес за пределами длины строки.
В плюсах же это просто str[length+some_num], без всяких выебонов.
Он про то, что если в конце строки в си(++) проебать нолик, то любые стандартные действия с этой строкой(ну, не любые, но многие), приведут к достаточно рандомным последствиям. От попердоливания данных до секьюрити дыры и взрыва приложения.
Я же про попытку обратиться к символу/подстройке за пределами нормально законченной строки.
Впрочем, это следствия одного и того же, строка это тупо указатель. И всё остальное, кстати, тоже.
Если "программист" забывает освобождать память, то это не проблема языка (там есть соответствующая процедура), а проблема "погромиста". Я люблю программировать микроконтроллеры, и они работают, а все эти ваши "забыл, не понял, просмотрел" - отмазка для дураков, не умеешь - учись, не можешь - не лезь.
Правда же в том, что любой программист регулярно где-то ошибается и потом тратит время на поиски этих своих ошибок. И С++ даёт больше возможностей оптимизации производительности ценой больших трудозатрат на ловлю ошибок, которые в C# программист физически не сможет совершить специально для этого не выебнувшись. Очевидно что C++ прекрасен для низкоуровневых алгоритмов высокой нагруженности. Но использовать его для enterprise разработки - это и есть забивание гвоздей микроскопом.
Конкретно С++ тут оказывается не нужен, только С в связке с основным языком - там, где максимально узко, и таких мест немного. Логика пишется на чём-то более безопасном и удобном, по очевидным причинам.
С другой стороны за производительность приходится чем-то платить. Все эти сборщики мусора и проверки безопасности - те еще тормозилки. Где не надо риал тайма и задача упирается не в CPU, а в IO - наворачивайте свою безопасность.
А вот где нужен риалтайм, то тут уже приходится платить Сишке(а то и ассемблеру) дань безопасностью
Все пишут, потому что:
1. Так повелось и сильно дофига софта на нём уже написано
2. Он быстрый (без vm и gc)
3. Не все разобрались с lifetime'ами и borrow checker'ом в Rust
4. Легче найти разработчиков, потому что цпп в учебной программе большинства вузов
В любом случае, на процессоре выполняется машинный код, а какой "сахар" использовать (С++, Rust или ещё что) - дело погромиста :)
https://devblogs.microsoft.com/oldnewthing/20200528-00/?p=103804
Вот что там пишут:
"But unlike Prolog, the C++ template metaprogramming language doesn’t have a debugger. You just feed your code to the compiler, and you get a few possible results:
It fails to compile.
It compiles and gives you what you want.
It compiles and gives you something that wasn’t what you want."
Может быть я не правильно понял, и имеется ввиду дебаг самого темплейта.
Не нравится фирмам из-за более высокой стоимости разработки (больше человеко-часов на расчётный показатель). Не нравится разработчикам из-за сборной солянки костылей.
Изза этого с С++ много головной боли. Ты можешь на нем кодить, но на собеседовании из тебя вынут душу каким-то примером, который надо решать как-то определённым образом. или накодить свою часть кода в существующий проект чтобы потом ломать голову над тем, почему проект с твоим кодом ведет себя как-то не так. Все это делает жизнь труднее, чем в той же джаве, например, где многие вещи вообще делает система за тебя - чистит память например.
Это не значит что он плохой. просто твоих личных страданий может быть больше.
из своего опыты мне кажется что везде можно сделать что-то как-то. Просто конкретно в джаве много зависит от фреймверка. если какой-то спринг чего-то не мог, то предлагалось не хотеть невозможного, потому что всем нравится спринг и никто не хочет ничего менять.
1. С - это великий язык, он лежит в основе всего, кроме того, где в основе - богоподобный Ассемблер. Веб-сервера, браузеры, базы данных, умная розетка и автомобиль - все имеет в своей основе С. Но он сложный, так как он более низкоуровневый, и менее абстрактный.
С++ зародился как расширение/развитие идеологии С, но с добавлением абстракций, типа объектов, классов, сущностей и т.д. Грубо говоря, тебе как разработчику уже надо было мыслить не типами данных (строка, целое число) и функциями, а ближе к реальности - объектами. Стало гораздо удобнее, гибче и сильнее.
2. Плюсы оказались практически везде. И огромное коммьюнити дописывало свои инструменты. Сейчас, при знании, какие библиотеки использовать, можно выполнить задачу любой сложности, начиная от программирования для чипов в реальном времени, заканчивая моделированием закрытой сети обмена данными с высочайшим уровнем защиты.
3. Плюсы - это не хайп. Это не безопасная корпоративная Java, где отстрелить себе хер практически невозможно, это не "модный" JS и его вариации, где можно написать даже самый херовый код - и он раком-боком, но выполнится. В плюсах ты можешь сделать что угодно, но и ошибка может вылезти в самых неожиданных местах, и никто тебя от нее не защитит, кроме прямоты твоих рук.
4. Засчет вышеперечисленных факторов, научиться писать хороший код на плюсах - это значит сфокусироваться на определенной сфере, но быть универсалом, понимать скрытое функционирование кода и уметь работать с памятью на низком уровне и уметь писать эффективный код, даже будучи джуном, потому что у сеньора обычно задачи на порядки сложнее и не всегда достаточно времени на глубокую проверку того, что ты написал.
5. Из-за этого кажется, что затраченные силы на обучение не соотносятся с оплатой, а работы мало, так как мало кто готов рискнуть взять на работу человека без опыта (хотя, если есть некоммерческий - это большой плюс). И все защищаются меньшей оплатой, снижая потери в случае увольнения по несоответствию заявленной квалификации.
Если вы смогли решить задачу так чтобы заказчик или вы сами, если вы сам себе заказчик, остались довольны - вы уже охуенны, а ваш язык программирования достаточно хорош.
https://scratch.mit.edu/projects/892602496/
а нет не красивый, его придумал человек который не видел другие языки...
оно страшное, ну возьми ты хоть для примера тайпскрипт...но нет, я придумаю свое нечто страшное....и хтоничное
и он уебищен
Когда Гендальф был ещё юн и появились компьютеры, встал вопрос - как биты/байты взад-вперёд таскать?
Один умный хоббитс сказал - сделал mem_alloc и раз-раз вот так, раз-раз-раз.
Применений было мало, людей, умеющих писать буферы было много.
И было написано много хорошего софта в Шире.
Всем такой бум понравился, но пришёл ушлый Менеджер-чародей, который не хотел платить зарплаты, а хотел MVP в продакшен. И были наняты урки-девелопперы. Много планок оперативы было сожжено, пока не пришли виртуальные машины.
С тех пор низкоуровненый мемори менеджмент и высокорувневый прикладной макакинг не встречались.
Но буря сношенных мамок краснеет за горизонтам, каждый раз когда пк-порт спотыкается об 30 фпс. Судьба создаст новых героев, которые сводят на свидание мам жадного Менеджера, пройдут по боллотам легаси поддержки и победят дракона Лагает-Купи.
Мой опыт разработки на с++ - 8 лет
Так это обратная сторона той же монеты. В крайности как раз такие люди и бросаются, люблю\ненавижу.
А здоровое отношение - это подходит\не подходит, уместно\не уместно.