The reuse of some object-oriented code has caused tactical
headaches for Australia's armed forces. As virtual reality
simulators assume larger roles in helicopter combat training ,
programmers have gone to great lengths to increase the realism of
the their scenarios, including detailed landscapes and -- in the
case of the Northern Territory's Operation Phoenix -- herds of
kangaroos (since groups of disturbed animals might well give away a
helicopters position).
The head of the Defense Science and Technology Organization's Land
Operations/Simulations division reportedly instructed developers to
model the local marsupials' movements and reaction to
helicopters.
Being efficient programmers, they just re-appropriated some code
originally used to model infantry detachments reactions under the
same stimuli, changed the mapped icon from a soldier to a kangaroo,
and increased the figures' speed of movement.
Eager to demonstrate their flying skills for some visiting American
pilots, the hotshot Aussies "buzzed" the virtual kangaroos in low
flight during a simulation. The kangaroos scattered, as predicted,
and the Americans nodded appreciatively . . . and then did a
double-take as the kangaroos reappeared from behind a hill and
launched a barrage of stinger missiles at the hapless helicopter.
(Apparently the programmers had forgotten the remove "that" part of
the infantry coding).
The lesson? Objects are defined with certain attributes, and any
new object defined in terms of the old one inherits all the
attributes. The embarrassed programmers had learned to be careful
when reusing object-oriented code, and the Yanks left with the
utmost respect for the Australian wildlife.
Simulator supervisors report that pilots from that point onwards
have strictly avoided kangaroos, just as they were meant
to.