Законы Робототехники Сегодня

Обычный, в сущности, случай побудил меня написать то, что вы сейчас читаете.

Тот, кто так или иначе сталкивался с программой 1С, не раз попадал в подобную ситуацию.

Я даже не знаю, что меня так разозлило.

Может это слово.

Клиенты позвонили и сказали, что теперь не могут распечатать счет на оплату.

Раньше у них была одна редакция, но в «1С» решили прекратить ее поддержку.

И теперь у них есть новая редакция, в которой они делают все то же самое.

Но купюры не печатаются.

Открыл программу, зашёл в документ, нажал кнопку «печать»… Да, не печатает. Вместо счета-фактуры надпись «Печать счета-фактуры не требуется».

НЕ ТРЕБУЕТСЯ! Да-нет, ребята! Вы ошиблись.

Это именно то, что нужно этим добрым людям, обратившимся ко мне.

Они потратили годы на выставление счетов, отправку их своим клиентам по электронной почте и получение денег от клиентов.

А теперь оказывается, что всего этого НЕ ТРЕБУЕТСЯ.

Так что же им теперь делать? Должны ли мы пойти домой? Проблема, конечно, тривиальная.

Но разработчики, имеющие хоть какой-то опыт работы в 1С, знают, что тривиальность проблемы вовсе не означает, что усилия по ее решению тривиальны.

На этот раз мне повезло.

Все это заняло меньше часа.

Но я все еще злился.

Мне было жаль этого часа.

У меня (как и у большинства из нас) нет времени в жизни.

На очереди гораздо более важные дела, чем все это.

Какого черта нарушать второй закон робототехники?! Чтобы перестать злиться, я попытался представить человека, который это сделал.

Мне даже показалось, что я увидел его лицо.

Это было немного грустно.

Ему очень нужна зарплата, подумал я.

И ему можно было даже посочувствовать.

Но кто мне сочувствует? А вместе со мной тысячи и тысячи таких, как я.

Он один, грустит из-за своей зарплаты, а нас тысячи.

Это проблема.

И тогда я понял, что законы робототехники, по сути, не являются правилами поведения железных человечков с лампочками вместо носов.

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

Для других, кстати.

Конечно, эти правила не будут в точности повторять то, что сказал Азимов 80 лет назад. Мне еще предстоит думать и думать об этом.

Но одно правило можно четко сформулировать уже сейчас.

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

Первый.

Данное ограничение может быть немедленно (в один клик) и навсегда снято пользователем.

Второй.

Ограничение должно сопровождаться подробным описанием причин, по которым разработчики решили его ввести.

Действительно.

Пусть все равно объяснят: какие египетские казни обрушатся на голову того нахала, который посмел распечатать счет на оплату.

Что-то мне подсказывает, что в 95% случаев разработчикам нечего будет сказать в этом описании, кроме: «мы придумали это для вас, потому что нам нужна была зарплата».

И поняв это, они просто откажутся от своих вредных идей.

Теги: #программирование #1с #правила

Вместе с данным постом часто просматривают: