Creo que tu profesor esta francamente equivocado, todos cometemos errores, y los ingenieros de cualquier rama tambien, la diferencia esta en los margenes de error permisibles, un puente no debe caerse y se diseñan para que resistan muchisimo mas de la maxima carga prevista, por eso no se caen, por que errores se comenten a carretadas.
Es como todo, un equilibrio entre coste, prestaciones y margenes aceptables de error.
Tu que vas a ser ingeniero deberías saber que crear software es una de las tareas más difíciles y complejas que existen.
Los humanos no somos perfectos
Los procesadores que creamos los humanos no son perfectos
Los compiladores que creamos los humanos no son perfectos
Los programas que creamos los humanos imperfectos usando los compiladores imperfectos, sobre los procesadores imperfectos, no son perfectos.
No te equivoques, el equivalente a que un ingeniero aeronáutico estrellara un avión a causa de un bug en su diseño sería igual a que uno de tus programas hiciera estallar un ordenador por un bug en la programación de su software.
Así pues, la conclusión a la que llegamos es que los ingenieros aeronáuticos no son perfectos, y sus aviones tampoco lo son y tienen fallos de diseño NO críticos. Pero ¿sabes? en eso consiste la evolución, en ir mejorando... ;-)
por
pobrecito hablador
el Miércoles, 09 Febrero de 2005, 14:52h
(#442208)
Diferencia dos tipos de software:
Primero) En un navegador o una aplicación de usuario, es "tolerable" en cierto modo bugs de vez en cuando, a cambio de que tengamos lo que tenemos ahora en lugar de estar navegando en modo consola. De la misma forma que un pequeño bug es tolerable en un avión teledirigido (vamos, de juguete), en un despertador, en una nevera, o en un ordenador (intel y sus decimales molan).
Segundo) hay software en el que lo que importa no es desarrollar mogollón en poco tiempo, sino que el sistema no falle *nunca*. Vamos, no se aplica el mismo modelo de desarrollo a un navegador que al software encargado de controlar un avión / torre de control, un reactor nuclear, etc.
Lo que ocurre es que estamos más acostumbrados al software del primer tipo que del segundo, porque estamos todo el día frente a PCs, no centrales nucleares. Y aún así te recuerdo que hay centrales nucleares que fallan, hay aviones que fallan (no encuentro un link, pero no tuvieron que arreglar todos los concorde?), hay puentes que fallan, y no recuerdo de puertos o caminos, pero me imagino que también. Y también hay quien te paga si encuentras un fallo en su programa, como Donald Knuth con su software, o no sé si también los de algún programa de servidores de correo (postfix o así era? o quién era?)
Vamos, que si quieres hacer comparaciones, no las hagas entre software no crítico con construcciones críticas.
La aviación civil no se porque no la conozco. En el caso de la aviación militar (cuyos chips y piezas valen una millonada porque se testean al 100% en la fábrica), los prototipos de aviones se acaban cayendo SIEMPRE. Los primeros prototipos de los nuevos aviones siempre se llaman como el modelo del avión con una X delante. El segundo prototipo es con una Y. Si tenemos el F-22, su prototipo se llamará XF-22. Bueno, pues aun no he conseguido ver ningún desarrollo de aviones de caza (conozco los americanos), insisto, fabricados con materiales de primera, cuyo modelo X no se estrellara antes de 2 años.
Sabes por que? Te lo explico: se cometen errores en su diseño.
Ademas otra cosa que no se si sabes: los aviones llevan software. Este software crítico está probado y vuelto a probar, cuando el avión llega a usarse, no tiene fallos porque es un producto crítico y se han gastado una millonada en probarlo y desarrollarlo. No merece la pena gastar el trabajo de cientos de personas y varios años para probar software de gestión, o aplicaciones tales como un navegador web (si falla, no muere nadie, al menos que sean los fanáticos de Firefox de un jamacuco, pero en teoría no muere nadie).
Creo q quizás no me haya explicado bien. Esta claro q todos cometemos errores. El aeronáutico, el de puertos, el industrial. Somos humanos, no hay vuelta de hoja.
El problema es el grado de permisividad con el q se deja actuar a la industria informática. Nadie saca un avión, ni construye un puente, ni lanza un coche, ni siquiera un simple teléfono móvil (nvl hardware), con tantísimos errores sin que pase nada.
Preguntaros q pasaría si BMW saca un nuevo modelo q cada 2 meses necesita volver al servicio técnico. Seguramente la empresa se iría al garete. En cambio Microsoft, por poner un ejemplo, vende licencias de programas con agujeros como camiones y es 'normal'. De verdad q me asombra.
Este tema de los ingenieros de segunda es interesante.
Para mi la principal diferencia con el resto de ingenierías, es que ellos pueden simular por ordenador, y calcular de manera matemática exaacta la mayoría de los datos necesarios para que el puente se sostenga, la casa no se caiga o el avión vuele.
Pero nosotros los infomáticos no podemos simular el comportamiento de un programa antes de construirlo (!simular no es lo mismo que hacer prototipos, puesto que no son completos!).
Existen programas de cálculo de estructuras, de simulación aerodinámica,... las fuerzas naturales son reducidas a ecuaciones, gráficas y números. Pequeños cambios en el diseño alteran las ecuaciones en sus datos, no en su estructura.
¿pero creeis que la informática es así? Yo creo que no. No podemos simular los programas, no podemos cuantificar los requisitos del cliente,... somos creativos intentando usar métodos de ingeniería, que nos ayudan, pero no nos terminan el trabajo.
por
pobrecito hablador
el Miércoles, 09 Febrero de 2005, 16:55h
(#442362)
pues ahí te doy la razón
sólo hace falta leer las licencias que aceptamos.
Por ejemplo, si compras ORACLE y por un fallo del programa lo pierdes todo, que te den...no asumen ningún tipo de culpa.
A un arquitecto se le cae la casa y se le cae el pelo con ella.
Re:Ingenieros de segunda
(Puntos:2, Interesante)Creo que tu profesor esta francamente equivocado, todos cometemos errores, y los ingenieros de cualquier rama tambien, la diferencia esta en los margenes de error permisibles, un puente no debe caerse y se diseñan para que resistan muchisimo mas de la maxima carga prevista, por eso no se caen, por que errores se comenten a carretadas.
Es como todo, un equilibrio entre coste, prestaciones y margenes aceptables de error.
Re:Ingenieros de segunda
(Puntos:5, Inspirado)Los humanos no somos perfectos
Los procesadores que creamos los humanos no son perfectos
Los compiladores que creamos los humanos no son perfectos
Los programas que creamos los humanos imperfectos usando los compiladores imperfectos, sobre los procesadores imperfectos, no son perfectos.
No te equivoques, el equivalente a que un ingeniero aeronáutico estrellara un avión a causa de un bug en su diseño sería igual a que uno de tus programas hiciera estallar un ordenador por un bug en la programación de su software.
Así pues, la conclusión a la que llegamos es que los ingenieros aeronáuticos no son perfectos, y sus aviones tampoco lo son y tienen fallos de diseño NO críticos. Pero ¿sabes? en eso consiste la evolución, en ir mejorando... ;-)
Saludos.
Re:Ingenieros de segunda
(Puntos:1)( Última bitácora: Jueves, 01 Mayo de 2008, 11:34h )
Yo trabajo con ingenieros de otras especialidades (mecánicos, electrónicos, telecos) y te diré que sí comenten errores, como todo ser humano.
Afortunadamente para ellos, cuando se descubre alguno, el jefe de proyecto siempre me pregunta: "¿Y no lo podriamos resolver por software?"
Re:Ingenieros de segunda
(Puntos:2, Inspirado)( Última bitácora: Lunes, 05 Marzo de 2007, 09:41h )
Re:Ingenieros de segunda
(Puntos:1, Interesante)Diferencia dos tipos de software:
Primero) En un navegador o una aplicación de usuario, es "tolerable" en cierto modo bugs de vez en cuando, a cambio de que tengamos lo que tenemos ahora en lugar de estar navegando en modo consola. De la misma forma que un pequeño bug es tolerable en un avión teledirigido (vamos, de juguete), en un despertador, en una nevera, o en un ordenador (intel y sus decimales molan).
Segundo) hay software en el que lo que importa no es desarrollar mogollón en poco tiempo, sino que el sistema no falle *nunca*. Vamos, no se aplica el mismo modelo de desarrollo a un navegador que al software encargado de controlar un avión / torre de control, un reactor nuclear, etc.
Lo que ocurre es que estamos más acostumbrados al software del primer tipo que del segundo, porque estamos todo el día frente a PCs, no centrales nucleares. Y aún así te recuerdo que hay centrales nucleares que fallan, hay aviones que fallan (no encuentro un link, pero no tuvieron que arreglar todos los concorde?), hay puentes que fallan, y no recuerdo de puertos o caminos, pero me imagino que también. Y también hay quien te paga si encuentras un fallo en su programa, como Donald Knuth con su software, o no sé si también los de algún programa de servidores de correo (postfix o así era? o quién era?)
Vamos, que si quieres hacer comparaciones, no las hagas entre software no crítico con construcciones críticas.
Re:Ingenieros de segunda
(Puntos:3, Interesante)( http://neuromancia.blogspot.com/ | Última bitácora: Jueves, 04 Agosto de 2005, 10:49h )
Re:Ingenieros de segunda
(Puntos:1)( http://www.poquer-red.com/ )
El problema es el grado de permisividad con el q se deja actuar a la industria informática. Nadie saca un avión, ni construye un puente, ni lanza un coche, ni siquiera un simple teléfono móvil (nvl hardware), con tantísimos errores sin que pase nada.
Preguntaros q pasaría si BMW saca un nuevo modelo q cada 2 meses necesita volver al servicio técnico. Seguramente la empresa se iría al garete. En cambio Microsoft, por poner un ejemplo, vende licencias de programas con agujeros como camiones y es 'normal'. De verdad q me asombra.
Re:Ingenieros de segunda
(Puntos:1)( http://najaraba.blogspot.com/ | Última bitácora: Miércoles, 16 Marzo de 2005, 14:34h )
Para mi la principal diferencia con el resto de ingenierías, es que ellos pueden simular por ordenador, y calcular de manera matemática exaacta la mayoría de los datos necesarios para que el puente se sostenga, la casa no se caiga o el avión vuele.
Pero nosotros los infomáticos no podemos simular el comportamiento de un programa antes de construirlo (!simular no es lo mismo que hacer prototipos, puesto que no son completos!).
Existen programas de cálculo de estructuras, de simulación aerodinámica,... las fuerzas naturales son reducidas a ecuaciones, gráficas y números. Pequeños cambios en el diseño alteran las ecuaciones en sus datos, no en su estructura.
¿pero creeis que la informática es así? Yo creo que no. No podemos simular los programas, no podemos cuantificar los requisitos del cliente,... somos creativos intentando usar métodos de ingeniería, que nos ayudan, pero no nos terminan el trabajo.
Re:Ingenieros de segunda
(Puntos:1)