Un importante movimento, nato a partire dalla lettera di Dijksta contro l’uso del GOTO è la programmazione strutturata. Ormai nessun programma può essere sviluppato senza seguire i dettami di questo paradigma di programmazione.
L’idea principale della programmazione strutturata è di creare delle "gabbie" per i dati e per le istruzioni in modo che sia possibile esprimere delle proprietà ben definite per i programmi.
Questa forte divisione viene ben evidenziata da un famoso testo di Wirth, l’ideatore del linguaggio Pascal:
Algorithms + Data Structures = Programs.