De ce contează?
Lucrezi la o problemă, când sună telefonul: o întrebare urgentă. Lași foaia pe birou, deasupra ei pui o foaie nouă și începi a doua problemă. În mijlocul ei te sună altcineva — pui a treia foaie deasupra. Când termini foaia de sus, o iei jos și revii exact la cea de dedesubt, de unde rămăseseși. Calculatorul face exact la fel cu apelurile de funcții: le stivuiește și revine la fiecare în ordine inversă.
Intuiția
Când o funcție apelează altă funcție, prima nu dispare — doar așteaptă. Ea trebuie să rețină unde rămăsese și ce mai are de făcut după ce apelul intern se termină. Calculatorul ține minte toate aceste apeluri suspendate pe o structură numită stiva apelurilor (call stack): fiecare apel pune un cadru (frame) deasupra, iar când apelul se termină cadrul se scoate de sus. La recursie e spectaculos, fiindcă funcția se suspendă singură, iar pe stivă se adună multe cadre cu același nume.