Давай жги, интересно же. Я часто переделываю за говноделами верстки и php.
Пример простой, но не особо заметный. Embedded. Есть разработчики устройств на базе микроконтроллеров и есть устройства: системы сбора данных, автоматизированного управления, удалённого взаимодействия с другими устройствами и т.д. Всю жизнь этой отрасли разработчиков били по рукам, если те несколько лишних байт памяти израсходовали впустую. Оно и понятно: пойдёт утечка памяти и кирдык. И говноделов, которые watchdog отключают в продакшне, как правило бьют по морде ради поддержания общей квалификации работников.
Однажды появился проект Arduino. Что же это? Это программно-аппаратная платформа. В первую очередь программная. Аппаратная часть - не очень хорошо разведённая плата на микроконтроллере семейства AVR (впрочем, очень хорошо и по всем правилам разведённая плата на таких частотах мало где нужна). Программная часть: IDE уровня notepad.exe с кнопочкой "компильни и залей прошивку" и фреймворк Wiring. Вот в этом фреймворке собака и посрала. Он мало того, что дико неэффективен, так ещё и старательно скрывает от разработчика особенности разработки под микроконтроллеры и схемотехники. Кроме того под ардуину сделана экосистема шильдиков. То есть, ничего паять не надо: подключаешь один шильдик - и вперёд (в редких случаях парочку, но не больше). Дать школьнику помигать светодиодом в целях общего введения в подачу сигналов ногами контроллера - нормально (есть же всякие решения типа PICaxe с бэйсиком). Но в embedded это катастрофа.
Катастрофа эта началась с того, что ардуину начали использовать везде и всюду по поводу и без повода. Даже прошивки дешёвых 3D-принтеров на ардуине сделаны. И я намучался с этим говнокодом, когда прошивал плату для RepRap (гореть в аду разработчикам Marlin!). В поставляемой IDE нет опций компилятора (благодаря опциям оптимизации можно ужать итоговый файл прошивки без потери эффективности), а вручную задавать - надо makefile писать или искать актуальный для той версии прошивки.
А теперь конкретика.
Как-то раз я заглянул в магазин "Электроника" на госцирке. И у прилавка стоял бедный ардуинщик, у которого, как оказалось, в ардуине при неудачной прошивке скетча (да-да - скетчи, а не программы!) сдох загрузчик (в AVR он пишется в конец памяти, что, в общем-то, удобно). Загрузчик там выполняет функцию программатора, так что ардуинщик остался
у разбитого корыта с дохлой платой, которую, впрочем, реанимировать можно с помощью USBISP, продающийся по пучок за пятачок (или спаять дешёвый и неимоверно простой USB-программатор на FT232RL даже без надобности его прошивки).
Другой примерчик: спутник LightSail.
http://forums.airbase.ru/2015/06/t91409--lightsail-ocherednoj-pervyj-solnechnyj-parusnik.html#p1145779Суть в том, что прошивку системы сбора данных писали говноделы. Мало того, что они написали кривой код, который вешает всю систему, так они ещё не поставили туда watchdog. Кто не знает - это аппаратное устройство, которое, если своевременно не сбрасывать таймер обратного отсчёта, принудительно ребутнёт железку. Полезно при зависаниях, так как от ошибок никто не застрахован. Кривой код заключается в том, что файл данных зачем-то писался в общую память. Когда память закончилась, устройство повисло нафиг. Приход таких говноделов в космическую отрасль показателен.
Ну ладно. Допустим, это единичный случай. Все наверно слышали про очередной маркетинговый баззворд - internet of things. Когда куча простых устройств объединено в общую сеть и взаимодействует. Это круто, это удобно. Но проблема в том, что это теперь маркетинговый тренд. Маркетинг нужен для получения прибыли. И чем больше, тем лучше с его точки зрения. А большая прибыль с простых и маленьких устройств в массовости.
Но где же взять так много разработчиков embedded? Обучить макак! Тут и ардуина есть, и амбиции создателей ардуины. В итоге маркетологи готовят новых говноделов:
https://www.coursera.org/specializations/iotСпециализация предполагает работу только с ардуиной и с Raspberry Pi (одного поля ягоды гнилые).
На том же hh уже можно увидеть вакансии с требованием знания ардуины. Показательно. Наверное, мало им аварий автомобилей с электроникой вместо механики (даже без ардуины и подобных средств).
Следующий рубеж - создание собственных микросхем с использованием таких средств разработки как Verilog + FPGA. Там сейчас работают очень ценные специалисты, которые и микропроцессор способны создать. Но и их реально опустить наплывом обезьян.