OOP organizuje kod wokół obiektów, które łączą mutable state z zachowaniem; Programowanie funkcyjne (FP) organizuje kod wokół czystych funkcji i immutable data, traktując obliczenia jako transformację danych. To są różne domyślne podejścia, a nie przeciwieństwa — i większość nowoczesnych języków mieszает obydwa.
