Functional programming is a programming paradigm that emphasizes immutability, first-class functions, and expressiveness.