КулЛиб электронная библиотека
Всего книг - 570834 томов
Объем библиотеки - 850 Гб.
Всего авторов - 229237
Пользователей - 105813

Впечатления

vovih1 про Яманов: "Бесноватый Цесаревич". Компиляция. Книги 1-6 (Альтернативная история)

(книга прочитана 2863 раз) , а похвалили только 2 раза...хвалите , не стесняйтесь!

Рейтинг: 0 ( 0 за, 0 против).
Igor Aleksandrovich про Кучумова: Язык Бога (Космическая фантастика)

Прочитал с удовольствием! Рекомендую

Рейтинг: 0 ( 0 за, 0 против).
Stribog73 про Хохлов: И.В. Сталин смеётся. Юмор вождя народов (Биографии и Мемуары)

Вычитал. Можете качать вычитанный файл.

Рейтинг: +2 ( 2 за, 0 против).
Stribog73 про Хохлов: И.В. Сталин смеётся. Юмор вождя народов (Биографии и Мемуары)

Хорошая книга, но много опечаток.

Рейтинг: +1 ( 1 за, 0 против).
IcePrincess11 про Сашар: Ямы (Детские остросюжетные)

Книга читается на одном дыхание. Мне очень понравилась. Спасибо!

Рейтинг: +2 ( 2 за, 0 против).
Stribog73 про Берия: Спасенные дневники и личные записи. Самое полное издание (Литература ХX века (эпоха Социальных революций))

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

Рейтинг: +3 ( 3 за, 0 против).
Stribog73 про Стребков: Пегас - роскошь! 2-е изд., доп. (Самиздат, сетевая литература)

Все, сервер работает. Можете скачивать.

Рейтинг: +4 ( 4 за, 0 против).

Притча о железнодорожных вагонах (програмистские басни) [Эдсгер Дейкстра] (fb2) читать онлайн

- Притча о железнодорожных вагонах (програмистские басни) 5 Кб  (читать) (читать постранично) (скачать fb2) (скачать исправленную) - Эдсгер Вайб Дейкстра

Настройки текста:



Дейкстра Эдсгер Притча о железнодорожных вагонах (програмистские басни)

Эдсгер Дейкстра

ПРОГРАММИСТКИЕ БАСHИ

Hесколько слов об авторе. Эдсгер Дейкстра (Edsger W. Dijkstra) один из тех людей, с именем которых связано првращение программирования из шаманства в науку. Работы Э. Дейкстры уже сегодня можно назвать классическими.

Одной из форм научной деятельности Дейкстры являются письма, которые он время от времени посылает своим корреспондентам (а также нанимателям: живя в Голландии в г. Эйндховене, он работал в фирме "Барроуз" ("Burroughs"), находящейся в США), призывая распространять их дальше. Сборник, содержащий некоторые из этих писем, был опубликовыан в 1982 г. Когда взгляды Э. Дейкстры стали известны широкому кругу программистов, они вызвали сильную (и далеко не всегда положительную) реакцию. С неоторыми сокращениями приводятся 2 эссе Э. Дейкстры.

Притча

В незапамятные времена была организована железнодорожная компания. Один из ее руководителей (вероятно, коммерческий директор) обнаружил, что можно сэкономить много денег, если снабжать туалетом не каждый железнодорожный вагон, а лишь половину из них. Так и решено было сделать.

Однако вскоре после начала пассажирских перевозок начались неприятности с туалетами. Причина их была крайне проста: хотя компания была только что создана, неразберихи уже хватало, и о распоряжении коммерческого директора ничего не знали на сортировочных станциях, где все вагоны считали одинаковыми. В результате в некоторых поездах туалетов почти совсем не было.

Чтобы исправить положение, каждый вагон снабдили надписью, говорящей, есть ли в нем туалет, и сцепщикам было велено составлять поезда так, чтобы около половины вагонов имели туалеты. Хотя это и осложнило работу сцепщиков, вскоре они с гордостью сообщили, что тщательно выполняют новую инструкцию.

Тем не менее неприятности с туалетами продолжались. Hовое расследование их причин показало, что хотя действительно половина вагонов в поезде снабжена туалетами, иногда выходит так, что все они оказываются в одной половине поезда. Чтобы спасти дело, были выпущены инструкции, предписывающие чередовать вагоны с туалетами и без них. Это добавило работы сцепщикам, однако, поворчав, они и с этим справились.

Hо проблема на этом не кончилась. Поскольку туалеты располагаются в одном из концов вагона, расстояние между двумя соседними туалетами в поезде могло достигать трех длин вагонов и для пассажиров с детьми особенно если коридоры были заставлены багажом - это было слишком далеко. Тогда вагоны с туалетами были снабжены стрелкой, и были изданы новые инструкции, предписывающие, чтобы все стрелки были направлены в одну сторону. Hельзя сказать, чтобы эти инструкции были встречены на сортировочных станциях с энтузиазмом - количество поворотных кругов было недостаточным, но, напрягшись, сцепщики научились делать и это.

Теперь, когда все туалеты находились на равных расстояниях, компания была уверена в успехе, однако пассажиры продолжали беспокоиться: хотя до ближайшего туалета было не больше одного вагона, но не было ясно, с какой стороны он находится. Чтобы решить и эту проблему, внутри вагонов были нарисованы стрелки с надписью "ТУАЛЕТ", сделавшие необходимым правильно ориентировать и вагоны без туалетов.

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

Хотя во времена, к которым относится наша история, человечество не знало ЭВМ, неизвестный, нашедший это решение, был первым в мире компетентным программистом.

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