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