Многие программисты хотя бы раз в жизни слышали знаменитую фразу Дональда Кнута: «преждевременная оптимизация — корень всех зол». Эта цитата стала почти культовой, и её нередко используют, чтобы оправдать невнимательность к производительности кода. Но что если сам Кнут понимал её совершенно иначе? Недавняя статья Мальте Скарупке заставляет вновь задуматься о том, что же имел в виду легендарный учёный, и как стоит подходить к оптимизации сегодня. Оригинальная цитата появилась в статье Кнута 1974 года, которая была посвящена не столько оптимизации, сколько необходимости использования операторов goto. На примере структуры данных — множества с подсчётом элементов (по-современному — multiset) — Кнут объяснял, когда именно такие оптимизации оправданы. Интересно, что Кнут не считал небольшие оптимизации бесполезными. Наоборот, он подчёркивал: даже 10-12% улучшения производительности могут быть значимыми, если речь идёт о критически важном участке кода или библиотечной функции, которая будет и
🚀 Переосмысляя Кнута: почему «преждевременная оптимизация» всё ещё вызывает споры среди программистов?
30 июня 202530 июн 2025
3 мин