En general, la gente rara vez dibuja diagramas de flujo tradicionales.
Lo que pasa con los diagramas de flujo que las generaciones más jóvenes no entienden es que fueron una ayuda para resolver un problema que ya no existe porque fue automatizado. Los diagramas de flujo fueron una ayuda visual para pensar en la “programación estructurada” antes de que los conceptos de programación estructurada se integraran a los lenguajes de programación como ciudadanos de primera clase.
La gente solía escribir código en lenguaje ensamblador. En lenguaje ensamblador hay diferentes tipos de saltos y declaraciones de ramificación que uno usa para especificar el flujo de control en un programa. Estas declaraciones usan diferentes modos de direccionamiento para sus objetivos y pueden o no estar condicionadas a diferentes tipos de condiciones. Los programas en lenguaje ensamblador usan estas ramas y saltos como lo deseen: puede saltar por todos lados si lo desea.
Los primeros lenguajes de nivel superior conservaron este mecanismo básico en forma de declaración goto. BASIC agregó la noción de for-loop y creo que al principio Fortran tenía una construcción similar a for-loop, pero sobre todo en BASIC y Fortran construiste la lógica en programas a través de muchos gotos. Esto puede ser confuso. Una forma de mantener su lógica recta es dibujar un diagrama de dónde van todos estos saltos y qué están haciendo las condiciones. Tal diagrama es un diagrama de flujo.
- Cerebro humano: ¿Podrían los científicos inventar una máquina para cargar conocimiento especializado directamente en el cerebro, y cuando eso suceda, el sistema educativo actual quedaría obsoleto?
- Como persona educada, ¿cómo es hacer un pacto con el diablo?
- ¿Qué tan mala fue tu educación infantil?
- ¿Una persona bilingüe o multilingüe pierde su autoidentificación nacional?
- ¿Cuál es el pensamiento detrás de la velocidad y el volumen de trabajo abordado en los jardines de infancia modernos?
Sin embargo, una mejor manera de mantener todo en orden es no saltar de un lado a otro de su programa, practicar un uso estructurado de la rama y las condiciones, por ejemplo, usar solo gotos en un pequeño conjunto de formas bien definidas: hacer un ciclo mientras una condición es verdadera; para activar diferentes casos de algún valor, etc. Esta fue una programación estructurada, que al principio tuvo que practicarse sin soporte de lenguaje, algo así como cómo es posible hacer una programación orientada a objetos en C colocando punteros de función en estructuras, etc. a pesar de que C no implementa específicamente OOP.
Finalmente, lenguajes como C y Pascal incluyeron estas estructuras de control de forma nativa y los viejos malos hábitos desaparecieron en una generación. Ahora ya nadie habla de programación estructurada precisamente porque la programación estructurada tuvo un éxito total y absoluto. Ganó … de una manera que incluso OOP no lo hizo.