OOP organizează codul în jurul obiectelor care unesc starea mutabilă cu comportamentul; Programarea Funcțională (FP) organizează codul în jurul funcțiilor pure și datelor imuabile, tratând calculul ca transformare de date. Sunt diferite tendințe standard, nu opuse — și majoritatea limbajelor moderne amestecă ambele.
