Programación no estructurada

La programación no estructurada es el paradigma de programación históricamente más antiguo capaz de crear algoritmos Turing-completos [ cita requerida ] . A menudo se contrasta con el paradigma de programación estructurada , en particular con el uso de flujo de control no estructurado mediante sentencias goto o equivalentes. La distinción se destacó particularmente con la publicación de la influyente carta abierta " Go To Statement Considered Harmful " en 1968 por el informático holandés Edsger W. Dijkstra , quien acuñó el término "programación estructurada". [1]

La programación no estructurada ha sido duramente criticada por producir código difícilmente legible ("espagueti") .

Existen lenguajes de programación de alto y bajo nivel que utilizan programación no estructurada. Algunos lenguajes que se citan comúnmente como no estructurados incluyen JOSS , FOCAL , TELCOMP , lenguajes ensambladores , archivos por lotes de MS-DOS y versiones anteriores de BASIC , Fortran , COBOL y MUMPS .

Características y conceptos típicos

Conceptos básicos

Un programa en un lenguaje no estructurado utiliza saltos no estructurados a etiquetas o direcciones de instrucciones. Las líneas suelen estar numeradas o pueden tener etiquetas: esto permite que el flujo de ejecución salte a cualquier línea del programa. Esto contrasta con la programación estructurada , que utiliza construcciones secuenciales de instrucciones, selección (if/then/else) y repetición (while y for).

Referencias

  1. ^ Dijkstra 1968, "El uso desenfrenado de la declaración go to tiene como consecuencia inmediata que se vuelve terriblemente difícil encontrar un conjunto significativo de coordenadas para describir el progreso del proceso. ... La declaración go to tal como está es simplemente demasiado primitiva, es una invitación demasiado grande a arruinar el propio programa".Error sfn: sin destino: CITEREFDijkstra1968 ( ayuda )

Lectura adicional

  • Cobb, Gary W. (1978). "Una medida de la estructura para lenguajes de programación no estructurados". ACM SIGSOFT Notas de ingeniería de software . 3 (5): 140–147. doi : 10.1145/953579.811114 . ISSN  0163-5948.
  • BPStruct - Una herramienta para estructurar sistemas concurrentes (programas, modelos de procesos)
Obtenido de "https://es.wikipedia.org/w/index.php?title=Programación_no_estructurada&oldid=1202049531"