Легко видеть, что создание сложных инструментов для решения простых проблем порождает другие, более сложные проблемы. Которые в общем случае решаются дальнейшим усложнением тех же инструментов, и т.д.

Взять, к примеру, милые сердцу интернет-технологии. Главная проблема Сети — создание динамических документов. Когда некто П. начинает осваивать веб, он создаёт статические странички. Потом он понимает, что их становится всё больше, и ему лень каждый раз править меню на всех старых страницах, добавляя новую. Тогда он принимается изучать SSI, PHP и прочие трёхбуквенные слова. То есть теперь его сервер, кроме тупого «получить имя — отдать файл», должен уметь запускать какие-то программы. Потом эти программы начинают использовать базу данных. Потом ему надоедает писать код на PHP, и он создаёт поверх него новый язык, называя это framework-ом. Разумеется, HTML-разметку он выносит во внешние шаблоны, и теперь у него ещё есть процессор шаблонов. Из-за шаблонов и из-за фреймворка сайт начинает тормозить. Некто П. изучает кеширование. Потом разносит сайт на несколько серверов. Теперь у него ещё есть проблемы синхронизации серверов. Ничто не помогает, сайт тормозит всё сильнее. П. переносит часть функциональности на AJAX, чтобы не перегружать страницу заново. Из-за AJAX-а фреймворк становится ещё тормознее. Подгрузка файлов со скриптами занимает всё больше времени. Серверная греется. Некто П. уже не в силах удержать все технологии в голове, он нанимает DBA, верстальщика и программиста. Они не понимают ограничений системы и начинают воевать друг с другом. П. покупает ещё серверы, нанимает ещё людей. Каждый из них развивает свой маленький фреймворк на своём участке. Каждый из них просит помощника. Серверная перегревается. БА-БАХ!

Пыль оседает, и некто П. сидит снова у своего первого маленького сервера, сносит к такой-то матери все свои фреймворки, и начинает тихонечко писать буквами. Маленькими чёрными буковками по белому полю.

Advertisements