"Эдсгер Дейкстра. Программистские басни." - читать интересную книгу автора ПРОГРАММИСТКИЕ БАСНИ
Несколько слов об авторе. Эдсгер Дейкстра (Edsger W. Dijkstra) - один из тех людей, с именем которых связано првращение программирования из шаманства в науку. Работы Э. Дейкстры уже сегодня можно назвать классическими. Одной из форм научной деятельности Дейкстры являются письма, которые он время от времени посылает своим корреспондентам (а также нанимателям: живя в Голландии в г. Эйндховене, он работал в фирме "Барроуз" ("Burroughs"), находящейся в США), призывая распространять их дальше. Сборник, содержащий некоторые из этих писем, был опубликовыан в 1982 г. Когда взгляды Э. Дейкстры стали известны широкому кругу программистов, они вызвали сильную (и далеко не всегда положительную) реакцию. С неоторыми сокращениями приводятся 2 эссе Э. Дейкстры. Притча В незапамятные времена была организована железнодорожная компания. Один из ее руководителей (вероятно, коммерческий директор) обнаружил, что можно сэкономить много денег, если снабжать туалетом не каждый железнодорожный вагон, а лишь половину из них. Так и решено было сделать. Однако вскоре после начала пассажирских перевозок начались была только что создана, неразберихи уже хватало, и о распоряжении коммерческого жиректора ничего не знали на сортировочных станциях, где все вагоны считали одинаковыми. В результате в некоторых поездах туалетов почти совсем не было. Чтобы исправить положение, каждый вагон снабдили надписью, говорящей, есть ли в нем туалет, и сцепщикам было велено составлять поезда так, чтобы около половины вагонов имели туалеты. Хотя это и осложнило работу сцепщиков, вскоре они с гордостью сообщили, что тщательно выполняют новую инструкцию. Тем не менее неприятности с туалетами продолжались. Новое расследование их причин показало, что хотя действительно половина вагонов в поезде снабжена туалетами, иногда выходит так, что все они оказываются в одной половине поезда. Чтобы спасти дело, были выпущены инструкции, предписывающие чередовать вагоны с туалетами и без них. Это добавило работы сцепщикам, однако, поворчав, они и с этим справились. Но проблема на этом не кончилась. Поскольку туалеты располагаются в одном из концов вагона, расстояние между двумя соседними туалетами в поезде могло достигать трех длин вагонов и для пассажиров с детьми - особенно если коридоры были заставлены багажом - это было слишком далеко. Тогда вагоны с туалетами были снабжены стрелкой, и были изданы новые инструкции, предписывающие, чтобы все стрелки были направлены в одну сторону. Нельзя сказать, чтобы эти инструкции были встречены на сортировочных станциях с энтузиазмом - количество поворотных кругов было недостаточным, но, напрягшись, сцепщики научились делать и это. |
|
|