Artículo BIT
Tecnologías aplicadas: el software: una tecnología adolescente
El software una tecnología adolescente Texto Manuel Gamella Bacete, ingeniero de Telecomunicación por la Universidad Politécnica de Madrid. Entre 973 y 1983 en desarrollos de software sistemas telefónicos en el Centro de ID de Standard Eléctrica. Ha sido miembro de las Juntas Directivas del a AETT. En la actualidad es Jefe del área de Nuevas Tecnologías de Fundesco. Cualquier analogía, por dosis de engaño inevitable. La evolución de las tecnologías, como obra humana que son, es básicamente artificial y sin embargo cuesta sustraerse a la imagen del niño que comienza su vida entre balbuceos, vive sus ilusiones infantiles, se enfrenta a la realidad en sus crisis adolescentes y alcanza en su momento la madurez. Es cómodo echar mano de esa imagen y aquí vamos a hacerlo, pero no sin antes advertir que hay que evitar la trampa de ver esa evolución como algo. En este sentido la analogía falla, lo mismo que esa otra tan de moda del tren tecnológico que hay que coger en marcha sobre unas vías sin fin. Como la naranja mecánica de Burgess, una tecnología evoluciona impulsada por las motivaciones de quienes trabajan, con lo que esto supone de azaroso y difícilmente previsible. carecen de fundamentos seguros. Surgidas de la necesidad de procedimientos y herramientas para resolver problemas inmediatos, avanzan por el camino tortuoso de la prueba y el señala Tony Hoareen un excelente articulo 1, da el artesano y el artesano defiende en adquiridos mediante la experiencia de un largo aprendizaje. Aunque quisiera, difícilmente seria capaz de ex dos de trabajo y sin embargo de sus clientes, dentro El brujo basa su oficio en mitos y ritos misteriosos. sagradas de las que es guardián exclusivo y que para los problemas de sus clientes. Si algo va mal brujo echa siempre mano a algún otro capítulo de la escritura donde se advierte la ser la verdadera causa del Los primeros programadores compartían muchos tos arquetipos, o más a menudo aún, con un ambos y. a decir verdad, todavía hoy algo de estas características sigue estando presente en la profesión. A medida que la artesanía fue mejorando, con avances tan esenciales como los lenguajes de alto nivel a FORTRAN954 y los sistemas operativos, y a medida también que los fueron aumentando en eficacia y disminuyendo lógicas, fue creciendo la confianza para abordar aplicadas mediante programas cada vez mayores. Fue una época de grandes ilusiones, como la de los diez científicos de prestigio que en 1956 predijeron en el Oartmoutn College que en 25 años los de realizar cualquier trabajo humano. Así, también la Informática tuvo su década prodigiosa en los 60 y, otros terrenos, las ilusiones acabaron chocando, a veces realidades. A la altura del 68 año histórico era ya evidente para los asistentes a la convocada por la OTAN en Garmisch Alemania que el software se había convertido en el cuello de botella de las aplicaciones de la Informática y se acuñó la Se había sobreestimado la capacidad existente para controlados de la complejidad con el tamaño de los sistemas. Ese mismo año en un artículo clásico 2, ponía el dedo en la llaga a partir del análisis de vial como el uso de la instrucción de salto libre en los programas. Como Mary Shaw diría más tarde, la pro tinto de la programación en pequeño, del mismo modo que la construcción de una caseta para las herramientas del jardín es una tarea construcción de un rascacielos y requiere, por tanto, distintas técnicas, herramientas de Garmisch antes citada, se enunció la necesidad de una verdadera ingeniería para el software que viniera a superar la etapa artesanal anterior. Pero enunciar no es resolver el software había adolescente y debía miento. A pesar de los veinte años transcurridos no parece que de esa etapa se haya salido todavía. De modo que antes de repasar brevemente lo que sí se ha ido logrando, vale la pena hacer aquí alguna consideración años de adolescencia puede, sitos incapaces de despegar hacia una vida adulta. En cambio, a la escala de las tecnologías, pensemos en los dos mil años que van de los de acero y hormigón, y en que la distancia conceptual mayor que la que separa un programa de cálculo de los años 50. escrito directamente en el código de la máquina, del software telefónica en nuestros días. El origen de la impaciencia está en las enormes expectativas, justificadas sin progreso de la Informática. Este sector económico es ya comparable en volumen en las economías desarrolladas a los grandes sectores móvil, y, lo que es más importante con vistas a una reactivación económica, se mente a todos los aspectos déla vida de tina sociedad la necesidad de procesar datos se aplica tanto al manejo de hospital. Los mercados para la Informática están aún lejos de la saturación y sus o recursos no renovables. Pero nada de esto puede desarrollarse adecuadamente sin un software fiable y económico, cosas ambas nada sencillas de hoy queda algo del oficio del brujo en esta profesión y sigue siendo fuerte la tentación de buscar una piedra filosofal o algún que convierta de un modo rápido y barato la especificación de cualquier problema en un programa eficiente y sin fallos. Recientemente cado la traducción de un lúcido artículo de David L. Pamas 3 donde, entre otras cosas, puede demoledora que conozco de la enumeración que Pamas hace de espejismos tecnológicos tiene una segunda lectura que vamos a hacer aquí. Cada refleja una posibilidad real. pero sí ha dado lugar a avances y debe producir aún Resumiendo brevemente La ingeniería del sofá conjunto de prácticas, ha extendido los conceptos de programación estructurada y de modalidad pone de métodos para controlar y limitar, hasta cierto punto, la complejidad de los problemas. El refinamiento de estos métodos, por ejemplo mediante semánticas formales y tipos abstractos de datos, debe dar mejoras importantes en el futuro, así como el aprovechamiento de una buena modularidad CTÓn de programas Los lenguajes de programación han ido incorporando los conceptos más útiles de esta ingeniería. Esta evolución, cuyos resultados han sido muy beneficiosos, debe continuar en el futuro, así como el desarrollo de lenguajes adaptados a nuevos tipos de arquitecturas de los ordenadores, distintas de Von Neumann y factibles hoy gracias a los progresos del hardware. Las posibilidades de los lenguajes de flujo de datos, de tipo lógico, funcional, aplicativo, etc. parecen lejos de estar aún bien exploradas. Las herramientas de software, entendidas como programas que programar, suponen ya un enorme apoyo para eliminar gran parte de las tareas más tediosas y propensas al error del trabajo de los programadores. La coordinación de juegos completos de estas herramientas en los sistemas llamados entornos de programación, es un avance importante y aún no agotado en sus posibilidades. das bajo el nombre de inteli castigadas por la crisis de confianza desde finales de los 60. En los 80, sin embargo, algunos éxitos conseguidos sobre campo de los sistemas expertos o basados en reglas y el impacto en la opinión pública del programa japonés de la quinta generación, han por estas técnicas. Con la tema tan propenso a modas poco científicas, cabe supo basados en reglas y de interfases en lenguaje más natural puede contribuir a mejorar las herramientas de ayuda a la programación, de sea sin duda abusivo, no pa la idea de automatizar cuanto sea posible el paso de las especificaciones de un problema al programa real que lo resuelve. Para ello es imprescindible disponer de lenguajes formales, lógico matemáticos, que permitan expresar de manera completa y no ambigua la especificación, así como poder ase gurar la eficiencia de los programas resultantes. Es esta última parte la que está hoy por hoy más lejos, pero incluso resultados poco eficientes pueden tener utilidad corno prototipos previos para pruebas. La idea de probar magra ma cumple o no sus especificaciones y aseguraras de es ya vieja en el mundo del software. Esto que es perfectamente posible en la teoría, siempre que las especificaciones estén formalizadas, tropieza en la realidad de los grandes programas con que, a falta de mejores técnicas, la prueba llega a ser más compleja que el propio programa que se quiere probar. Como se observa hasta los partes meteorológicos, nuestra habilidad para muy superior a la de predecir lo que ocurrirá. Qué tecnología adolescente Por encima de estas conjeturas, tienen la palabra las comunidades de científicos, profesionales, empresarios y políticos implicados en su desarrollo. REFERENCIAS BIBLIOGRÁFICAS
30 oct 2015