"Эдсгер Дейкстра. Программистские басни." - читать интересную книгу автора

Теперь, когда все туалеты находились на равных расстояниях,
компания была уверена в успехе, однако пассажиры продолжали
беспокоиться: хотя до ближайшего туалета было не больше одного вагона,
но не было ясно, с какой стороны он находится. Чтобы решить и эту
проблему, внутри вагонов были нарисованы стрелки с надписью "ТУАЛЕТ",
сделавшие необходимым правильно ориентировать и вагоны без туалетов.
На сортировочных станциях новая инструкция вызвала шок: сделать
требуемое вовремя было невозможным. В критический момент кто-то, чье
имя сейчас невозможно установить, заметил следующее. Если мы сцепим
вагон с туалетом и без оного так, чтобы туалет был посередине, и
никогда их не будем расцеплять, то сортировочная станция будет иметь
дело вместо N ориентированных объектов с N/2 объектами, которые можно
во всех отношениях и со всех точек зрения считать симметричными. Это
наблюдение решило проблему ценой двух уступок. Во-первых, поезда могли
теперь состоять лишь из четного числа вагонов - недостающие вагоны
могли быть оплачены за счет экономии от сокращения числа туалетов, и,
во-вторых, туалеты были расположены на чуть-чуть неравных расстояниях.
Но кого беспокоит лишний метр?
Хотя во времена, к которым относится наша история, человечество не
знало ЭВМ, неизвестный, нашедший это решение, был первым в мире
компетентным программистом.


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



Как быть, если правда колет глаза?

Иногда мы обнаруживаем неприятные истины. И когда это происходит,
попадаем в затруднительное положение, поскольку утаить их - научная
нечестность, сказать же правду - значит вызвать огонь на себя. Если эти
истины достаточно неприемлемы, то ваши слушатели психологически
неспособны принять их и вы будете ославлены как абсолютно лишенный
здравого смысла, опасно революционный, глупый, коварный или какой-то
еще там человек. (Не говоря уже о том, что, настаивая на таких истинах,
вы обеспечите себе непопулярность во многих кругах и вообще не
обойдетесь без персонального риска. Вспомните Галилео Галилея...)
Информатика (computer sciense) выглядит тяжело больной от такого
противоречия. В целом она хранит молчание и стремится избежать
конфликта, переключая внимание на другое (например, в отношении Кобола
вы можете либо бороться с болезнью, лиюо делать вид, что ее не
существует: многие факультеты информатики выбирают второй, более
простой путь). Но, собратья, я спрашиваю вас: разве это честно? Не
подрывает ли наше затянувшееся молчание единства информатики? Прилично
ли сохранять молчание? Если нет, то как об этом говорить?
Чтобы подбросить вам идей, касающихся этой проблемы, перечислю