je te rappelle qu'ariane x (remplacer x par le bon numéro) s'est lamentablement planté à cause d'une grosse erreur de programmation en ADA
Il s'agit d'ariane 5, et elle s'est planté à cause d'une variable trop typée (en fait un type borné)!!!
En fait le code était déjà utilisé sur Ariane 4, et la variable d'accéleration utilisé par le "navigateur" était bornée à une valeur de X g (je ne connais pas la valeur X), en cas de dépassement de cette valeur (constraint error en ADA) le programme déduisait qu'il y avait un problème.
Et en fait Ariane 5 ayant une accéleration plus forte que Ariane 4, la fameuse valeur X a été dépassée et le navigateur s'est réinitialisé, ce qui a changé les coordonnées du points d'arrivée qui sont devenues 0,0,0 (le pas de tir).
La fusée s'est braquée à fond pour revenir au pas de tir, et comme elle n'est pas prévu pour ça, elle a commencée à se casser entrainant l'auto-destruction automatique.
Il n'y aurait pas eu de problème si l'accéleration avait été codée sur un pauvre float non bornée, et la première Ariane 5 aurait été un succès.
D'un autre côté, le fait d'avoir un typage fort permet de rejetter toute situation qui n'entre pas dans le domaine de l'application. Mais encore faut il bien vérifier que le domaine supposé codé dans le programme correspond bien au domaine réel.
C'était le cas avec Ariane 4, ce n'était plus le cas avec Ariane 5.
CE N'EST PAS UNE ERREUR DE PROGRAMMATION, C'EST UNE ERREUR DE VALIDATION.
[^] # Langage typé !?! Trop Typé !?!
Posté par darkleon . En réponse à la dépêche Apache/PHP et IIS/ASP : pas si bons ?. Évalué à 3.
Il s'agit d'ariane 5, et elle s'est planté à cause d'une variable trop typée (en fait un type borné)!!!
En fait le code était déjà utilisé sur Ariane 4, et la variable d'accéleration utilisé par le "navigateur" était bornée à une valeur de X g (je ne connais pas la valeur X), en cas de dépassement de cette valeur (constraint error en ADA) le programme déduisait qu'il y avait un problème.
Et en fait Ariane 5 ayant une accéleration plus forte que Ariane 4, la fameuse valeur X a été dépassée et le navigateur s'est réinitialisé, ce qui a changé les coordonnées du points d'arrivée qui sont devenues 0,0,0 (le pas de tir).
La fusée s'est braquée à fond pour revenir au pas de tir, et comme elle n'est pas prévu pour ça, elle a commencée à se casser entrainant l'auto-destruction automatique.
Il n'y aurait pas eu de problème si l'accéleration avait été codée sur un pauvre float non bornée, et la première Ariane 5 aurait été un succès.
D'un autre côté, le fait d'avoir un typage fort permet de rejetter toute situation qui n'entre pas dans le domaine de l'application. Mais encore faut il bien vérifier que le domaine supposé codé dans le programme correspond bien au domaine réel.
C'était le cas avec Ariane 4, ce n'était plus le cas avec Ariane 5.
CE N'EST PAS UNE ERREUR DE PROGRAMMATION, C'EST UNE ERREUR DE VALIDATION.