La ricorsione in programmazione è una tecnica che permette la definizione di una procedura utilizzando chiamate della procedura stessa, oltre che di altre procedure definite indipendentemente. È derivata dalle tecnica di definizione ricorsiva in matematica, per esempio la definizione della funzione fattoriale come fatt(n) = n * fatt(n-1) se n > 0, 1 altrimenti.
I primi linguaggi di programmazione ad aver introdotto le procedure ricorsive sono LISP e ALGOL-60.
Come esempi di ricorsione si vedano le schede
Memorandum AIM-010 e
Procedura che calcola i numeri di Fibonacci usando la Ricorsione.