Читать «Bash IT Happens Истории ## 8501 – 8600» онлайн - страница 43

Bash.org.ru IT

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

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

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

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

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

4

#8479: Сжёг нервы — спас дерево

13:00 10.02.2012, IT happens

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

Начнём с самого начала. Большинство банкоматов моего города не понимают нажатие кнопки Enter на цифровой клавиатуре после ввода PIN. Только кошерная боковая кнопка, соответствующая надписи «Продолжить».

Идём дальше. У большинства банкоматов в меню выбора суммы есть пункты, которые попросту не работают, ибо номиналом они меньше, чем может выдать банкомат. Например, нажимаем мы 10 или 25, на что железный ящик радостно рапортует: «Минимальная сумма — 50».