[escepticos] No pienses en un elefante (Era: La Clave)
Jose Luis VM
joseluis.vm en terra.es
Lun Ago 20 22:03:32 WEST 2012
El 20/08/12 19:27, Luis Rodriguez escribió:
>
>> 2) Todo programador de C (y similares) sabe que los errores que hacen
>> que un programa falle o no funcione bien son fácilmente corregibles,
>> pero existen errores que permiten un funcionamiento correcto del
>> programa en casi todas las condiciones pero que, en ocasiones, pueden
>> dar resultados inesperados, dificilmente identificables como errores, ya
>> que podrían ser perfectamente resultados validos, y mucho más difíciles
>> aún de encontrar y corregir.
>>
>>
> No entiendo muy bien tu postura aquí.
Eso es porque está fuera de contexto, lo que estoy diciendo es referido
a lo que contesto y lo que pretendo decir es que, en contra de la
opinión común, todos los programas tienen errores y muchos de los
errores son indetectables o muy difíciles de detectar, vamos que no todo
es tan limpio como se supone.
> Además, a diferencia de una aplicación de usuario "normal" (por mucho
> que digan los que se dedican a la ingeniería del Sotware) este tipo de
> implementaciones puede probarse de forma sistemática y de hecho antes de
> implantarlas en un entorno real se hacen miles de pruebas (p.e. para los
> experimentos
> que se realizan para artículos de investigación). Evidentemente, puede
> haber errores,
> pero no creo que la comparación con un programa típico sea adecuada.
Todo muy idílico pero llevo más de veinte años programando y se que no
existen los usuarios normales ni los programas típicos y también se que
todas las aplicaciones pueden probarse de forma sistemática ¿de que
tiempo dispongo?
> Por
> poner
> un ejemplo, es como si desconfíamos de un compilador que lleva varios años
> siendo
> utilizado y probado, en el sentido de que puede generar código objeto que
> realice una
> funcionalidad diferente al que el programa fuente indica. Como poder,
> podría pasar, pero
> me apuesto a que las probabilidades son enormemente bajas.
>
Tu prueba, por ponerte un ejemplo de los simples, a dimensionar mal una
variable y que tengas la "suerte" de que el programa funciona sin
síntomas, una docena de versiones más tarde encuentra el fallo que hasta
entonces, oh hados de la informática, no había dado síntomas y que,
además, ha sido descubierto por casualidad ya que el resultado está
dentro de los parámetros de lo posible pero no es el correcto.
--
El "Hardware" es lo que golpeas y el "Software" la causa.
Más información sobre la lista de distribución Escepticos