Crisis de sw

Solo disponible en BuenasTareas
  • Páginas : 16 (3831 palabras )
  • Descarga(s) : 0
  • Publicado : 14 de febrero de 2011
Leer documento completo
Vista previa del texto
La crisis del software: años 1960’s y 1970’s
Ricardo Peña Marí
Departamento de Sistemas Informáticos y Computación Universidad Complutense de Madrid

Master en formación de profesorado de Secundaria – Informática curso 2009-2010

R. Peña (SIC-UCM)

Crisis del software

Master Secundaria 09-10

1 / 24

Lecturas recomendadas

• “De Euclides a Java: Historia de los algoritmos y delos lenguajes de programación”. Ricardo Peña. Caps. 6 y 7. Ed. Nivola (Colección Ciencia Abierta), 2006. • “A brief history of computing”, Gerard Regan, Cap. 3, Springer 2008.

R. Peña (SIC-UCM)

Crisis del software

Master Secundaria 09-10

2 / 24

Los años 1960’s
• En estos años se desarrollan docenas de lenguajes que surgían sin cesar en empresas y universidades. Algunos como JOVIAL,MAD, NELLIAC, ALGOL-W, BASIC, etc., eran de propósito general. Otros eran de propósito específico, como SNOBOL (tratamiento de cadenas de caracteres), APL (procesamiento de matrices numéricas), GPSS (simulación) o los derivados de LISP (cómputo simbólico). • Sin embargo, no existían criterios claros para comparar la bondad relativa de tales propuestas. La programación científica se había adherido aFORTRAN, la empresarial a COBOL y cada área de aplicación disponía de su propio lenguaje. • El uso de lenguajes de alto nivel permitió dividir por diez el esfuerzo humano de programación. Pero las máquinas demandaban también programas más grandes. • A mediados de la década, y auspiciada por el desarrollo del hardware, surge la denominada multiprogramación, que consiste en que el sistema operativoaprovecha los tiempos “muertos” de un programa para ejecutar otros programas. El OS/360 de IBM (1964) es el primero que ofrece esta facilidad. • Los periféricos son típicamente entre mil y cien mil veces más lentos que la unidad de proceso. Se llaman tiempos muertos a los que un programa ha de esperar a que se complete una operación de entrada - salida.
R. Peña (SIC-UCM) Crisis del softwareMaster Secundaria 09-10 3 / 24

Problemas introducidos por la concurrencia
• Estos programas que simulan la ejecución paralela de varias tareas en un procesador se denominan concurrentes y hoy tenemos una mejor comprensión de los mismos y un amplio conjunto de técnicas para abordar su diseño. • Pero en 1964 nadie era consciente de los problemas a los que podían dar lugar: errores no deterministas,corrupción de los datos compartidos, interbloqueos, . . . • El OS/360 alcanzó más de un millón de líneas de código y trabajaron en él hasta 500 programadores a la vez. • Este conjunto de circunstancias condujo a un sonado fracaso que marcó a partir de entonces la historia de los lenguajes: un retraso de dos años, 500 millones de dólares en lugar de los 40 millones presupuestados, y multitud deerrores cuyo número no conseguían disminuir las sucesivas versiones. • El caso de IBM fue el más espectacular, pero en esa época se dieron muchos otros casos de proyectos fallidos. En la mayoría de ellos, el número de instrucciones a escribir alcanzaba cifras de varios cientos de miles. • Se hizo evidente que la tecnología del momento no podía hacer frente con fiabilidad a sistemas más allá de lascien mil líneas de código.
R. Peña (SIC-UCM) Crisis del software Master Secundaria 09-10 4 / 24

La crisis
• Abundando en este estado de cosas, empezó también a tomar forma la idea de que sería deseable un lenguaje que sirviera “para todo”. • Éste debería disponer de una buena notación matemática para la expresión de cálculos numéricos, de suficientes facilidades para la descripción de datos,una entrada/salida versátil y eficiente, y mecanismos para la creación de estructuras dinámicas semejantes a las de LISP. • También debería tener algunas características de los lenguajes especializados, tales como el tratamiento de cadenas de caracteres o facilidades para la multiprogramación. • En este contexto, se aborda el diseño de dos nuevos lenguajes: PL/I y ALGOL 68. • PL/I lo diseñó IBM...
tracking img