Se enfatiza el uso de funciones para resolver problemas. El código se divide en pequeñas funciones que se combinan para formar soluciones más grandes. Las funciones son tratadas como valores, lo que significa que pueden ser pasadas como argumentos a otras funciones y devueltas como resultado de otras funciones. Lenguajes como Haskell, Lisp y Scala son ejemplos de lenguajes de programación funcional.