Как на самом деле пишут софт в 2016 году

Многие годы софтварные компании скрывали от нас это. Читайте скорее, пока не удалили, и распространяйте как можно шире.

Вы до сих пор думаете, что огромные корпорации обладают большим штатом разработчиков, которые пишут им программный код руками? Наивно. На дворе 2016 год, и правила полностью изменились. Сейчас легко доступны чудовищные вычислительные мощности, о которых 10 лет назад нельзя было и заикнуться. Ваш телефон мощнее, чем вычислительные модули, которые ставили на космические корабли. А человеческое время стоит страшно дорого — в особенности время квалифицированных программистов, которыми, словно пчёлами, якобы набиты офисы технологических гигантов.

Не знаю, кто начал это первым, но это был изящный и логичный ход — во всей своей безумной топорности. Если на обычном пользовательском компьютере мы можем генерировать случайный программный код и проверять его сотнями килобайт тысячи раз в секунду — то только представьте, что могут мейнфреймы, кластерные системы, и даже системы, построенные на видеокартах, которые обладают огромной производительностью на параллельных вычислениях. Как вы думаете — зачем нужен штат из сотен технических писателей, которые выверяют техническое задания и вылизывают до последнего символа, чтобы было понятно даже дровосеку из лесов, который никогда не видел компьютера? Возможно, вы уже сделали единственный логичный вывод. Эти технические задания в качестве входных и выходных параметров скармливаются огромным генераторам случайного кода, которые за считанные часы или даже секунды выдают готовый программный продукт, на написание которого у живых людей ушли бы годы жизни.

Вы чувствуете звоночек в голове? Всё резко встало на свои места! Например, производительность современных программ, которые требуют кучу места на диске, памяти и процессорного времени. Конечно — ведь код случаен и совершенно не оптимален! Пока вы делаете свою работу, программа может заниматься вычислением абсолютного значения числа пи, прокладыванием маршрутов звёздного неба, общением в чатах или просто зависнуть в сотнях бесконечных циклов. Никто не знает, что там происходит на самом деле —, но никого это не волнует, ведь программа выполняет поставленную задачу!

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

Уровень заговора ужасает. Впрочем, не все знают, в чём принимают участие. Созданы даже специальные концепции и методологии, чтобы показать, что случайный код в порядке вещей. Как иначе кому-то в голову могла прийти концепция TDD, когда сначала пишутся тесты, а потом сам код? Зачем иначе сотни фреймворков и автоматизированных инструментов тестирования? Всё — для того, чтобы прикрыть, что разработчиков в компании больше нет.

Какие-то несколько лет, и проблема выйдет на качественно новый уровень с появлением квантовых компьютеров, вычислительная мощность которых просто необъятна для человеческого разума. После этого любая задача будет решаться генератором случайного кода. И нет — не подумайте, что я боюсь за свою профессию. Я боюсь, что однажды кости случайности так ударятся о стол вероятностей, что простейший текстовый редактор в качестве побочной функции сможет внедриться в центры управления ядерным вооружением и устроить настоящий апокалипсис.

Запомните это. Распространите это. Человечество должно знать настоящую угрозу, которая над ним возникла — беззлобного и безжалостного мутанта из симбиоза технологий и жадности. Я не знаю, сколько провисит этот пост. На прошлой неделе нам в офис поставили огромный гудящий шкаф. Директор сказал, что это биткоин майнер, но зачем он нам тут? А на этой неделе уже пошли слухи о сокращении отдела разработки… Возможно, вы обо мне больше не услышите.

P.S. Сегодня пятница, и пост этот пятничного формата, но эта шутка — повод задуматься о качестве того, что мы делаем. Поскольку очень часто я провожу целые сутки в позе Мыслителя — только рука закрывает моё лицо в искажённом фейспалме. Порой объяснить некоторые вещи я могу только генератором случайного кода или состоянием тяжёлой наркотической зависимости. Ребята, давайте писать код, который качественно лучше случайной последовательности байт! Кстати, хех, майнер у нас действительно стоит.

P.P. S. Отвечу на комментарии позже, тут какие-то люди пришли, вероятно партнёры. НЕЕЕЕЕЕЕЕ

© Geektimes