Surgió en la década de 1960, particularmente del trabajo Böhm y Jacopini,1 y una famosa carta, la sentencia goto considerada perjudicial, de Edsger Dijkstra en 19682 — y fue reforzado teóricamente por el teorema del programa estructurado, y prácticamente por la aparición de lenguajes como ALGOL con adecuadas y ricas estructuras de control.