|

Écrivez
à AILES ! |

Retour
vers les blagues |
|
|
Des kangourous mutants ou des bateaux obstinés
(ou de l'importance de bien spécifier... bis!)
|
La blague sur
l'importance des spécifications
vous en a donné une première illustration. Les specif',
cela constitue d'ailleurs un des points
de vues d'une architecture. Et cela suppose que
vous avez correctement identifié tous les éléments
du système à architecturer.
Une mauvaise identification de ces éléments... et c'est la
catastrophe : des kangourous peuvent muter et une flotte
navale américaine entière peut sombrer. Corps et bien.
Illsutrations :
|
CARELESS CODE RECYCLING CAUSES KILLER KANGAS
(de la réutilisation imprudente de code
entraîne l'apparition de kangourous tueurs)
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 their
scenarios, including detailed landscapes and - in the case of the Northern Territory's Operation Phoenix- herds of kangaroos (since disturbed animals might well give away a helicopter's position).
(La réutilisation de code
orienté-objet a causé des maux de têtes tactiques aux forces
armées australiennes. Alors que les simulateurs de réalité
virtuelle prennent un rôle grandissant dans l'entraînement de combat
en hélicoptère, les programmeurs sont allés très loin afin
d'augmenter le réalisme de leurs scénarios, en y incluant des
paysages détaillés et, dans le cas de l'Opération Phoenix des
territoires du Nord, des troupeaux de kangourous, puisque ces animaux,
s'ils sont perturbés, peuvent révéler la position des
hélicoptères).
The head of the Defense Science & Technology Organization's Land
Operations/Simulation division reportedly instructed developers to model the local marsupials' movements and reactions to
helicopters.
(Le responsable du département des
opérations et simulation terrestres des sciences et technologies de
la Défense a ordonné en conséquence aux programmeurs de modéliser
les mouvements et réactions aux hélicoptères de ces marsupiaux.)
Being efficient programmers, they just re-appropriated some code originally used to model infantry detachment reactions under the
same stimuli, changed the mapped icon from a soldier to a kangaroo, and increased the figures' speed of
movement.
(Étant des développeurs efficaces, ils
reprirent simplement du code initialement utilisé pour modéliser les
réaction d'un détachement d'infanterie sous les mêmes conditions,
en changeant l'icône d'un soldat en celle d'un kangourou, et en
augmentant la vitesse de mouvement.)
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 visiting Americans nodded appreciatively... 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 to remove that part of the infantry
coding.)
(Impatient de démontrer leurs talents de
pilotage à des pilotes américains en visite, les cracks d'Australie effrayèrent
un troupeau de kangourous virtuels lors d'une simulation de vol à
basse altitude. Les kangourous s'éparpillèrent, comme prévu, et les
visiteurs américains approuvèrent en connaisseur... avant de
réviser leur jugement alors que les kangourous réapparaissaient de derrière
une colline et lançaient un barrage de missiles Stinger vers les
malchanceux hélicoptères.
- apparemment, les programmeurs avaient oublié d'ôter *cette* partie
du code "infanterie" -)
The lesson?
1/ Objects are defined with certain attributes, and any new object defined in terms of an old one inherits all the
attributes.
2/ The embarrassed programmers had learned to be careful when reusing object-oriented
code.
3/ The Yanks left with a newfound respect for Australian wildlife.
4/ Simulator supervisors report that pilots from that point onward have strictly avoided kangaroos, just as they were meant to.
(Les leçons ?
1/ Les objets sont définis avec certains attributs, et tout nouvel
objet qui en hérite reprend tous ces attributs.
2/ Les programmeurs, embarrassés, ont appris à être prudent en
réutilisant du code.
3/ Les américains sont repartis avec un respect renouvelé envers la
vie sauvage australienne.
4/ Les instructeurs de simulations ont rendu compte du fait que les
pilotes, depuis cet incident, ont strictement évités les
kangourous... juste comme ils étaient censés le faire. )
Et après, on s'étonne que certains sont peu attirés par
les objets et prônent toujours une séparation
claire du code et des données !
Autre exemple, moins lié à l'informatique, mais qui illustre les
problèmes de communication distante entre deux systèmes : il faut
savoir à qui l'on s'adresse!
L'histoire suivante est véridique (ceux qui veulent vérifier peuvent
s'adresser aux affaires maritimes canadiennes, l'incident s'est passé en
Octobre 1995)
Transcription d'une communication radio entre un bateau de la US Navy et les
autorités canadienne au large de Newfoundland...
Américains : Veuillez vous dérouter de 15 degrés Nord pour éviter une
collision. A vous.
Canadiens : Veuillez plutôt vous dérouter de 15 degrés Sud pour éviter
une collision. A vous.
Américains : Ici le capitaine d'un navire des forces navales américaines. Je répète : veuillez modifier votre course. A vous.
Canadiens : Non, veuillez dérouter, je vous prie. A vous.
Américains : ICI C'EST LE PORTE AVIONS USS LINCOLN, LE SECOND NAVIRE EN
IMPORTANCE DE LA FLOTTE NAVALE DES ETATS-UNIS D'AMERIQUE.
NOUS SOMMES ACCOMPAGNES PAR 3 DESTROYERS, 3 CROISEURS ET UN NOMBRE IMPORTANT DE NAVIRES
D'ESCORTE.
JE VOUS DEMANDE DE DEVIER DE VOTRE ROUTE DE 15 DEGRES NORD OU DES MESURES CONTRAIGNANTES VONT
ETRE PRISES POUR ASSURER LA SECURITE DE NOTRE NAVIRE. A VOUS.
Canadiens : ici, c'est un phare. A vous.
Américains : silence......... ....... .... .. .
|