Mostrando entradas con la etiqueta programación estructurada. Mostrar todas las entradas
Mostrando entradas con la etiqueta programación estructurada. Mostrar todas las entradas

septiembre 16, 2010

Programación estructurada

La programación estructurada es un concepto que surge como respuesta a la crisis del software de los años 60, cuando el desarrollo de programas estaba ocupando una porción cada vez mayor de los costos de computación y, a su vez, el mantenimiento de los mismos era cada vez más inmanejable.
La programación estructurada se convirtió, hace unos 20 años, en un must, y todo producto que se lanzaba al mercado se proclamaba estructurado.

El primer inconveniente que se atacó fue el uso del ya olvidado Goto (ruptura de secuencia o interrupción incondicional de la secuencia), sobre todo luego de un artículo de Dijkstra titulado “Goto considered harmful” (El Goto considerado dañino). A menudo se ha resumido la programación estructurada como el rechazo del Goto y nada más.

Esta búsqueda de la supresión del uso del Goto había provocado la enunciación del teorema de Bohm-Jacopini, ya en 1966 bajo la caracterización de una entrada, una salida: “Cualquier segmento de programa con una entrada y una salida que tenga todas las proposiciones en algún camino de la entrada a la salida se puede especificar usando sólo secuencia, selección e iteración”.


Sin embargo, la programación estructurada involucraba otras prácticas, de las cuales las más importantes parecen ser:

  • Utilizar un estilo disciplinado de programación.
  • Ser una técnica que lleve a programas fácilmente modificables.
  • Sencillez, claridad y elegancia.

Estos objetivos se logran sólo parcialmente con la eliminación del Goto y su reemplazo por las tres estructuras fundamentales de secuencia, selección e iteración.

Otros aspectos, menos formalizados, apuntaban a usar lenguajes que poseyeran unas pocas sentencias de uso habitual, con construcciones conceptualmente simples y ampliamente aplicables a la práctica, sin reglas demasiado permisivas, el uso de nombres claros, no utilizar un identificador para nombres múltiples, abundancia de comentarios aclaratorios, uso de sangrías para aumentar la legibilidad y denotar la estructura del programa, el aislamiento de las dependencias de la máquina en unas cuantas rutinas separadas, etc.

Fue la primera vez que el rendimiento y las características técnicas dejaron de ser las únicas consideraciones de calidad de los sistemas de software.

Los lenguajes de programación como Fortran y Algol se hicieron más estructurados, y luego surgieron nuevos lenguajes, como C y Pascal.

Bibliografía consultada:
  • Orientación a Objetos con Java y UML, Carlos Fontela, pág. 10, 11, Edición 2004, Editorial Nueva Librería.