Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
A finales de los años 1970 surgió una nueva forma de programar que no
solamente permitía desarrollar programas fiables y eficientes, sino que además
estos estaban escritos de manera que se facilitaba su comprensión en fases de
mejora posteriores.
Secuencia.
Instrucción condicional.
Iteración (bucle de instrucciones) con condición inicial.
Solamente con estas tres estructuras se pueden escribir todos los programas y
aplicaciones posibles. Si bien los lenguajes de programación tienen un mayor
repertorio de estructuras de control, estas pueden ser construidas mediante las
tres básicas citadas.
HistoriaEditar
Fundamentación teóricaEditar
DebateEditar
Nosotros los conversos ondeamos esta interesante pizca de noticias bajo las
narices de los recalcitrantes programadores de lenguaje ensamblador que
mantuvieron trotando adelante retorcidos bits de lógica y diciendo, 'Te
apuesto que no puedes estructurar esto'. Ni la prueba por Böhm y Jacopini, ni
nuestros repetidos éxitos en escribir código estructurado, los llevaron un día
antes de lo que estaban listos para convencerse.[3]
Donald Knuth aceptó el principio de que los programas deben escribirse con
demostratividad en mente, pero no estaba de acuerdo (y aún está en desacuerdo)
[cita requerida] con la supresión de la sentencia GOTO. En su escrito de 1974
«Programación estructurada con sentencias Goto», dio ejemplos donde creía que
un salto directo conduce a código más claro y más eficiente sin sacrificar
demostratividad. Knuth propuso una restricción estructural más flexible: debe
ser posible establecer un diagrama de flujo del programa con todas las
bifurcaciones hacia adelante a la izquierda, todas las bifurcaciones hacia atrás a la
derecha, y sin bifurcaciones que se crucen entre sí. Muchos de los expertos en
teoría de grafos y compiladores han abogado por permitir solo grafos de flujo
reducible[¿quién?][¿cuándo?].
ResultadoEditar
A finales del siglo XX, casi todos los científicos están convencidos de que es útil
aprender y aplicar los conceptos de programación estructurada. Los lenguajes de
programación de alto nivel que originalmente carecían de estructuras de
programación, como FORTRAN, COBOL y BASIC, ahora las tienen.
Los programas son más fáciles de entender, pueden ser leídos de forma
secuencial y no hay necesidad de tener que rastrear saltos de líneas (GOTO)
dentro de los bloques de código para intentar entender la lógica interna.
La estructura de los programas es clara, puesto que las instrucciones están
más ligadas o relacionadas entre sí.
Se optimiza el esfuerzo en las fases de pruebas y depuración. El seguimiento
de los fallos o errores del programa (debugging), y con él su detección y
corrección, se facilita enormemente.
Se reducen los costos de mantenimiento. Análogamente a la depuración,
durante la fase de mantenimiento, modificar o extender los programas
resulta más fácil.
Los programas son más sencillos y más rápidos de confeccionar.
Se incrementa el rendimiento de los programadores.
Nuevos paradigmasEditar
ReferenciasEditar
1. Böhm, Jacopini. "Flow diagrams, turing machines and languages with only
two formation rules" Comm. ACM, 9(5):366-371, May 1966
2. Edsger Dijkstra (marzo de 1968). «Go To Statement Considered Harmful».
Communications of the ACM (PDF) 11 (3): 147-148. doi:10.1145/362929.362947.
«The unbridled use of the go to statement has as an immediate consequence
that it becomes terribly hard to find a meaningful set of coordinates in which
to describe the process progress. ... The go to statement as it stands is just
too primitive, it is too much an invitation to make a mess of one's program.»
3. |apellidos = Plauger |nombre = P. J. |enlaceautor = P. J. Plauger |título =
Programming on Purpose, Essays on Software Design |fecha = 12 de febrero
de 1993 |editorial = Prentice-Hall |edición = 1 |isbn = 978-0-13-721374-0
|página = 25 | páginas = 256
4. GOTO for example
BibliografíaEditar
Véase tambiénEditar
Enlaces externosEditar