El Software Nuestro de Todos los Días




José M. Piquer
Profesor Asociado, Depto Cs de la Computación, U. de Chile
jpiquer@nic.cl


Hay que aceptar que resulta extremadamente frustrante enfrentarse a sistemas que se caen: desde las pantallas azules clásicas de Windows, pasando por los sitios webs bancarios que no responden, hasta las agendas y sus fatal exceptions que se están volviendo más norma que excepción.

Después de 40 años de desarrollo y siendo una de las industrias más importantes del nuevo milenio, parece insólito que todavía el software se caiga. Por más de 30 años existe una disciplina dedicada a asegurar la calidad del software que llamamos Ingeniería de Software y que ha generado profesionales en todo el planeta. A mi parecer, este esfuerzo ha fracasado en su objetivo global: la inestabilidad y la fragilidad de los sistemas computacionales no ha disminuido.

Por otro lado, cada día estamos más rodeados de aparatos controlados por software: desde el auto hasta el celular, desde el micro-ondas hasta el ascensor. Ponemos nuestras vidas en manos de programas que siguen fallando. Hace poco me tocó esperar media hora en una Resonancia Magnética porque el software estaba fallando.

¿Cómo podemos explicar esto? No creo que los profesionales informáticos sean particularmente malos o que atraigan ingenieros peores que los que construyen obras civiles. Pero es obvio que la sociedad no tolera puentes que se caigan y sí acepta que los programas fallen. A pesar que las consecuencias pueden ser tan graves en un caso como en el otro.

Creo que el problema fundamental es que la programación no es un acto sistemático y donde haya que seguir paso a paso una serie de instrucciones para lograr el objetivo. La programación sigue siendo un acto de creación e innovación. Mi primera atracción por la computación ocurrió al ver mi programa tomar vida y realizar acciones que yo mismo consideraba sorprendentes. La sensación de programar es más parecida a la de escribir una novela (donde los personajes van tomando vida propia) que a la de desarmar una tostadora de pan. Nuestros cursos de programación en ingeniería son siempre sorprendentes, porque algunos alumnos tienen un talento innato impresionante, mientras a otros les es extremadamente difícil entender cómo hacerlo, y esto es totalmente independiente de sus habilidades matemáticas, físicas o ingenieriles.

De hecho, pienso que en el liceo debiera haber talleres de programación tal como existen talleres de literatura. Por lo menos yo siento que la programación me cambió la vida y la forma de enfrentarme a la tecnología, tal como la literatura cambió mi forma de enfrentarme a la vida.

Entonces, nuestra sociedad moderna se basa en obras de arte para funcionar y manejar los destinos del planeta. Siendo así, ¡resulta más bien sorprendente lo bien que funciona el software! Los esfuerzos por transformar a estos artistas en ingenieros sistemáticos y productores de calidad no han tenido mucho éxito, porque es como convertir pintores artistas en pintores de brocha gorda.

En el futuro, tal vez esto sea posible: supongo que los primeros ingenieros que construyeron puentes, inventando nuevas estructuras y soluciones a cada intento, deben haber sido parecidos a estos artistas creativos. O tal vez haya que inventar la carrera de "arquitecto" para los creativos y de "ingeniero" para el que construye. Pero esto toma tiempo y nos queda mucho que aprender aun sobre la verdadera dinámica del software. Por ahora, no nos queda más que disfrutar creando programas nuevos y apretar los dientes cada vez que nos saluda una nueva pantalla azul.





Jose M. Piquer 2005-07-05