Пару дней назад наткнулся на заграничную заметку об эффективности кода. Пока переводил, источник обновился, не оставив следов в истории. Делюсь без ссылки на первоисточник. Можно было бы погуглить, но зачем? ) © apubbox - www.yaplakal.com (12.01.26)
Актуально не только применительно к приложениям, но и к ограничениям, которых ныне о-го-го! (
*
Когда Джон Кармак — да-да, тот самый, что выдавил DOOM из железа, которое по нынешним меркам и микроволновкой не назовёшь, — сказал, что «если бы софт был написан по-человечески, половина старого хлама до сих пор работала бы как часы», он не ностальгировал. Он просто констатировал факт — технический, холодный, как регистр процессора.
В те времена код писали не «чтобы запустилось», а чтобы жрало как можно меньше. Каждый такт ЦПУ — на вес золота. Каждое обращение к памяти — как шаг по минному полю: один неверный — и всё летит к чёртовой матери. Не было места расточительству — железо просто не прощало.
И вот чудо: DOOM гнал 35 кадров в секунду на машине, у которой оперативки хватало разве что на заварить чай.
Прошло тридцать лет. У нас теперь процессоры — как реакторы, видеокарты — как космические станции, памяти — море. А что? Простейший текстовый редактор тянет за собой сотни мегабайт RAM, как будто там не буквы, а целая вселенная. Система тормозит не от того, что слабая — а оттого, что её задрали абстракциями, фреймворками, зависимостями и прочей «архитектурной поэзией», которую писали, видимо, под вдохновением от бесконечного npm-ада.
Современная негодность железа — это не техническая проблема. Это бизнес-модель. Гораздо выгоднее продавать новый ноут каждые два года, чем платить программистам за то, чтобы они думали головой, а не клепали очередной Electron-уродец на коленке.
Да, прогресс есть. Искусственный интеллект, научные симуляции, рендеринг, квантовые вычисления — там без новых мощностей никуда. Но кто объяснит, почему браузер теперь требует больше ресурсов, чем Quake III Arena целиком? Почему «устаревший» компьютер становится «непригодным» не из-за железа, а из-за того, что современный софт пишут без малейшего уважения к машине — и к пользователю?
Когда эффективность перестаёт быть добродетелью, платит не корпорация — платит человек. Платит кошельком, покупая новую машину. Платит планета — тоннами электронного мусора. И платит культура — нормализацией бардака под видом «прогресса».
Возможно, проблема никогда не была в недостатке вычислительной мощи. Возможно, она — в избытке лени, самоуверенности и рынка, который платит не за качество, а за скорость вывода продукта на прилавок.
Эффективность всё ещё важна. Просто тем, кто живёт за счёт запланированного устаревания, это уже неудобно признавать.
_
5
