bash.im ithappens.me zadolba.li
8487

Гений: переаттестация

Опа, ещё один тру-программер нашёлся. Забыл я как-то про этот психотип. Универсальный всемогутер и писатель универсальных всемогутеров.

Ну, парсеров-интерпретаторов за 25 лет я написал немало, включая собственные ActiveX скриптинг-языки и парсер PDF. Не затруднит написать и ещё десяток — Yacc не забывается. Но если меня просят написать «2 + 2», я пишу «2 + 2», а не универсальный всемогутер с конфиг-файлом на пять мегабайт XML. Почему? Ошибки в коде будут всегда, а отлаживать визивиг-редактор формул несколько сложнее, чем printf("%d", 2+2), не находите?

Степень сферичности коня в вакууме тоже надо ограничивать. У меня в работе одновременно до десятка компиляторов и операционок, так что найти, где упадёт самая «несферичная» и устойчивая программа, я могу за пять минут. На 50% машин она просто не соберётся.

За полчаса багу в проекте отыскать? Вот у меня проект на двух человек с 300 мегами чужих исходников весьма разного качества, поскольку портируем. Охотно верю, что найдёте и отличите ошибку портирования от неверных входных данных или баги, пришедшей с исходной платформы. За полчаса. И поправите. Особенно если причиной падения в одном модуле послужило неправильное (знаковое-беззнаковое) представление char при компиляции другого модуля — не поправили make.

Опять-таки, в настройки можно вынести всё, включая алгоритм, и из программы получится интерпретатор кривого самопального скриптового языка без чётких правил и грамматики, который только по недоразумению считается конфиг-файлом. То есть задача программирования перекладывается на пользователя, и это программирование без IDE и отладчика по недоразумению будет называться «правкой конфига». И бедный юзер будет копаться, портить данные, мега-универсальная программа будет ломаться, а программеры будут её чинить. А автор чудо-кода уволился, искать смысл в 300 мегах исходников на С++ — дело неподъёмное. Ни в чём не повинные молодые программисты просто обязаны городить костыли, лишь бы не падало. Их не ругать, а жалеть надо. Напиши гений что-нибудь попроще — глядишь, и исправления были бы адекватнее. Вот и выходит, что польза от всемогутера вполне компенсируется в ближайший год поддержкой того, что он написал.

Я не пишу абсолютные пути, но делаю только то, что просят. Я чётко знаю, в каком вакууме и с какой сферичностью могут работать мои программы, и не строю иллюзий. Я ас в написании костылей, потому что переписывание 300 мегов как-то занимает больше времени, чем точечные правки. Правда, костыли эти потом коллекционируют и собирают в библиотеку под именем «portability layer».

Просто я не озабочен поддержанием статуса гения.