Программистские басни

Здесь можно писать все, что угодно, кроме того, что следует писать в других форумах (не забывайте, что кое-что писать нельзя вообще ;))

Программистские басни

Сообщение Олег Могилевцев » Понедельник 03.09.2007 19:52

В свою бытность студентом Московского института электронной техники, в 1985-1991 годах, я читал много книг по программированию (я и сейчас так продолжаю делать). Где-то, не помню уже где, мне попалась одна программистская басня. Читая некоторые сообщения на нашем форуме, я вспомнил ту басню. Поискал-поискал первоисточник, но найти не смог… Привожу по памяти.

В одной очень крупной и богатой (иностранной) компании, имеющей огромное количество подразделений по всему миру, в середине 70-х годов внедрялась компьютерная система управления бизнесом (в те годы умных слов типа «ERP» еще не придумали). Был по жесточайшему тендеру отобран генподрядчик, многоуважаемая, заслуженная и известная всем компания. Был заключен многомиллионный (в долларах) контракт на разработку и внедрение, были написаны тонны бумаги – ТЗ, проект, рабочая документация и т.д., и т.п. Была написана гигантская программа, над которой трудились несколько лет сотни программистов, и десятки субподрядчиков…

Многократно что-то уточнялось, переделывалось, вносились изменения в ТЗ и проект, сдвигались сроки, составлялись доп.соглашения, ну, в общем, все как всегда.

Наконец, к всеобщей радости, настал день «Ч» – финальные приемо-сдаточные испытания. Но… На первых же секундах серии тестовых прогонов программа «умерла». Начался колоссальный, неописуемый переполох – генподрядчик немедленно собирает «мозговой штурм» для изучения сложившейся ситуации, во все концы страны летят депеши – срочно созываются «штурмовые бригады» во главе с руководителями направлений…

Тем временем молодой программист, только-только с институтской скамьи, работник компьютерного подразделения компании-заказчика, от нечего делать изучавший листинги неудачного (или удачного?) тестового прогона, выяснил, что сбой произошел в небольшом программном модуле чтения перфокарт. В том модуле всего-то не больше 500 строк программного кода. Поленившись разбираться в хитроумных программных кодах этого модуля, молодой программист не долго думая, переписывает за пару часов от начала до конца эту программульку для ввода перфокарт, (набросать которую в состоянии любой студент-компьютерщик) и самостоятельно возобновляет серию тестовых прогонов, которая (о, чудо!) успешно проходит от начала и до конца без сучка и задоринки.

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

Пока все размещались и собирались, шампанское за успех приемо-сдаточных испытаний уже лилось рекой, все были счастливы, кроме ведущего программиста направления систем ввода-вывода, на которого к моменту фуршета уже «навесили всех собак».

Обиженный, он стал домогаться до героя дня – молодого программиста. «А вот за сколько миллисекунд Ваш модуль считывает одну перфокарту?», – вопрошал он, глядя на молодого программиста сквозь очки в дорогой оправе. «За 80…», – молвил молодой программист. «Ха», – отвечал ведущий программист направления систем ввода-вывода, – «А наша – за 35!». «Сэр, Ваша программа действительно во всех отношениях лучше моей. Но ведь она не работает», – ответил на это молодой программист.
Последний раз редактировалось Олег Могилевцев Вторник 04.09.2007 22:21, всего редактировалось 1 раз.
Аватара пользователя
Олег Могилевцев
pit
pit
 
Сообщения: 69
Зарегистрирован: Четверг 07.06.2007 14:11
Откуда: Полак АйТи

Сообщение Сергей Королев » Вторник 04.09.2007 08:27

Злободневно =)
Аватара пользователя
Сергей Королев
 
Сообщения: 94
Зарегистрирован: Среда 13.06.2007 08:15
Откуда: МП Химкиэлектротранс

Басня №0000002

Сообщение Олег Могилевцев » Вторник 04.09.2007 22:45

Приведу еще одну интересную басню. В данном случае первоисточник найден.
Автор: Эдсгер Вайб Дейкстра (Edsger Wybe Dijkstra)
Оригинальный текст
Перевод (автор перевода - Valery Shishkov)
В незапамятные времена была организована железнодорожная компания. Один из ее руководителей (вероятно, коммерческий директор) обнаружил, что можно сэкономить много денег, если снабжать туалетом не каждый железнодорожный вагон, а лишь половину из них. Так и решено было сделать.

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

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

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

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

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

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

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

Я рассказывал эту историю разным людям. Программистам, как правило, она нравилась, а их начальники обычно сердились все больше и больше по мере ее развития. Настоящие математики, однако, не могли понять, в чем соль.
Аватара пользователя
Олег Могилевцев
pit
pit
 
Сообщения: 69
Зарегистрирован: Четверг 07.06.2007 14:11
Откуда: Полак АйТи

Сообщение Светлана Хорькова » Четверг 13.09.2007 19:39

День программиста — неофициальный праздник программистов, отмечаемый на 256-й день года. Число 256 (28) выбрано потому, что это количество чисел, которое можно выразить с помощью одного байта. Так же "256" - это "100" в шеснадцатиричной системе счисления ("0x100"). В невисокосные этот праздник попадает на 13 сентября, a в високосные годы — на 12 сентября.


Поздравляю Полак и АСУ-шников
Аватара пользователя
Светлана Хорькова
 
Сообщения: 1637
Зарегистрирован: Четверг 07.06.2007 11:23
Откуда: А/k-1792 г.Клин

Сообщение Леонид Сандал » Четверг 13.09.2007 20:26

Светлана Хорькова писал(а):День программиста
...
Поздравляю Полак и АСУ-шников

:beer:
Аватара пользователя
Леонид Сандал
pit
pit
 
Сообщения: 1382
Зарегистрирован: Среда 30.05.2007 18:54
Откуда: Полак АйТи

Сообщение Сергей Мордирос » Пятница 14.09.2007 15:18

Светлана Хорькова писал(а):День программиста — неофициальный праздник программистов, отмечаемый на 256-й день года. Число 256 (28) выбрано потому, что это количество чисел, которое можно выразить с помощью одного байта. Так же "256" - это "100" в шеснадцатиричной системе счисления ("0x100"). В невисокосные этот праздник попадает на 13 сентября, a в високосные годы — на 12 сентября.


Поздравляю Полак и АСУ-шников


Спасибо! А почему в разделе "Программисткие басни"? :)
Аватара пользователя
Сергей Мордирос
 
Сообщения: 684
Зарегистрирован: Четверг 07.06.2007 11:31
Откуда: Сергиев Посад

Сообщение Леонид Сандал » Пятница 12.09.2008 09:31

Сегодня нас кое-кто поздравил вот так:

Изображение

Спасибо! Но, странное дело, получается, что у нас в компании программистов нет ;)
Аватара пользователя
Леонид Сандал
pit
pit
 
Сообщения: 1382
Зарегистрирован: Среда 30.05.2007 18:54
Откуда: Полак АйТи

Сообщение Светлана Хорькова » Пятница 12.09.2008 09:43

А как же пункт 1.2?
Как безумно хороша жизнь!
Аватара пользователя
Светлана Хорькова
 
Сообщения: 1637
Зарегистрирован: Четверг 07.06.2007 11:23
Откуда: А/k-1792 г.Клин

Сообщение Андрей Гуминов » Пятница 12.09.2008 09:55

Леонид Сандал писал(а):странное дело, получается, что у нас в компании программистов нет ;)

Кто знает... Может, мы их тут не видим потому, что зарплата перечисляется на карточки?
Аватара пользователя
Андрей Гуминов
pit
pit
 
Сообщения: 90
Зарегистрирован: Суббота 09.06.2007 11:42
Откуда: Полак АйТи

Сообщение Леонид Сандал » Пятница 12.09.2008 10:06

Светлана Хорькова писал(а):А как же пункт 1.2?


И этот пункт тоже. У нас нет людей, кроме инженеров по техническим средствам вычислительной техники, которые способны протестировать рабочую станцию какими-бы то ни было программными средствами. А инженеры по ТСВТ не программисты по определению.

В общем, по всему выходит, что тема про басни - наилучшая:

Сергей Мордирос писал(а):
Светлана Хорькова писал(а):День программиста — неофициальный праздник программистов, отмечаемый на 256-й день года. Число 256 (28) выбрано потому, что это количество чисел, которое можно выразить с помощью одного байта. Так же "256" - это "100" в шеснадцатиричной системе счисления ("0x100"). В невисокосные этот праздник попадает на 13 сентября, a в високосные годы — на 12 сентября.


Поздравляю Полак и АСУ-шников


Спасибо! А почему в разделе "Программисткие басни"? :)
Аватара пользователя
Леонид Сандал
pit
pit
 
Сообщения: 1382
Зарегистрирован: Среда 30.05.2007 18:54
Откуда: Полак АйТи

Сообщение Шлеин Александр » Пятница 12.09.2008 13:35

всех с праздником. всем приятных выходных.

В дополнение к теме, небольшой ребус. Smile
http://copypast.ru/piu/calc.php
Последний раз редактировалось Шлеин Александр Суббота 13.09.2008 23:49, всего редактировалось 1 раз.
Изображение
ιlιllιlιॐιlιllιlι.
一万
Аватара пользователя
Шлеин Александр
 
Сообщения: 438
Зарегистрирован: Вторник 29.01.2008 15:18
Откуда: hkey_local_machine

Сообщение Светлана Хорькова » Понедельник 15.09.2008 07:09

ПОЗДРАВЛЯЕМ! Вы на 57% сможете отличить программиста от серийного убийцы!

АААААААААААА!
Как безумно хороша жизнь!
Аватара пользователя
Светлана Хорькова
 
Сообщения: 1637
Зарегистрирован: Четверг 07.06.2007 11:23
Откуда: А/k-1792 г.Клин


Вернуться в Обо всем остальном

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 26

cron