La explosión del Ariane 5 es por culpa del lenguaje Eiffel
Es justo al revés. Lo del Ariane 5 es un ejemplo que viene en el libro de Meyer sobre Eiffel, y lo pone como caso arquetípico de la utilidad del Diseño por Contrato.
En el ejemplo, Meyer explica cuáles fueron las causas de la explosión, y demuestra que, si hubieran programado con Eiffel, no hubiera ocurrido.
No recuerdo exactamente, pero era algo así: la causa fue que el programa de control del Ariane tenía una función que recibía como parámetro de tipo float con una velocidad. La función había sido probada mil veces y no tenía ningún bug, pero el parámetro medía la velocidad en millas, y sin embargo el programa llamante le pasaba kilómetros. Esto no venía indicado en ningún lugar del código fuente, sólo se explicaba en un documento aparte que nadie consultó por problemas de tiempo.
O sea, que no fue un bug de código sino de documentación. Si hubieran programado en Eiffel, las precondiciones de la función hubieran dado la alerta, y los revisores del código se habrían dado cuenta.
Estás equivocado al 100%
(Puntos:2, Informativo)Es justo al revés. Lo del Ariane 5 es un ejemplo que viene en el libro de Meyer sobre Eiffel, y lo pone como caso arquetípico de la utilidad del Diseño por Contrato.
En el ejemplo, Meyer explica cuáles fueron las causas de la explosión, y demuestra que, si hubieran programado con Eiffel, no hubiera ocurrido.
No recuerdo exactamente, pero era algo así: la causa fue que el programa de control del Ariane tenía una función que recibía como parámetro de tipo float con una velocidad. La función había sido probada mil veces y no tenía ningún bug, pero el parámetro medía la velocidad en millas, y sin embargo el programa llamante le pasaba kilómetros. Esto no venía indicado en ningún lugar del código fuente, sólo se explicaba en un documento aparte que nadie consultó por problemas de tiempo.
O sea, que no fue un bug de código sino de documentación. Si hubieran programado en Eiffel, las precondiciones de la función hubieran dado la alerta, y los revisores del código se habrían dado cuenta.