Повторное использование объектно-ориентированного кода (в программах)
вызвало головную боль у Австралийских Вооруженных Сил. Т.к. симуляторы
все активнее используются для тренировок боевых действий вертолетов, от
программистов требуется постоянное повышение реализма используемых
сценариев, включая детальные ландшафты местности и - в случае операции
Феникс - стад кенгуру (т.к. испуганные животные могут легко выдать
расположение воинских частей).
Hачальник отдела симуляций наземных операций Defense Science and
Technology Organization приказал разработчикам смоделировать перемещения
кенгуру и их реакцию на вертолеты. Будучи грамотными программистами, те
использовали готовые программные объекты, описывающие поведение пехоты в
аналогичной ситуации, заменив изображения солдат на изображения животных
и увеличив их скорость.
Желая продемонстрировать свое мастерство перед посетителями -
американскими пилотами - горячие австралийские парни "разбудили" кенгуру,
пройдя над ними на малой высоте во время симуляции. Кенгуру разбежались,
как и предполагалось, и американцы понимающе кивнули... А затем сильно
удивились, т.к. кенгуру, перегруппировавшись, появились из-за холма и
выпустили тучу стингеров по злополучным вертолетам. (Программисты забыли
удалить соответствующий кусок кода из "пехотных" объектов).
Урок? Объекты создаются с определенными атрибутами, и любой объект-потомок
наследует эти атрибуты. Смущенные программисты научились быть более
внимательными, используя готовые объекты в своих программах, а американцы
уехали с невольным чувством уважения к австралийской фауне.
Hачальник симулятора отметил, что пилоты с этих пор боятся кенгуру как
огня, для чего, собственно, и нужен был этот кусок кода в симуляторе...
From June 15, 1999 Defense Science and Technology Organization Lecture
Найдено здесь: Russian Programmers Centre