Es un paradigma de programación declarativa, esto quiere decir que está basada en describir el problema declarando propiedades y reglas que deben cumplirse (en lugar de utilizar instrucciones). Este paradigma está basado en el uso de funciones matemáticas.
La programación funcional agrega claridad al código. Es mucho más sencillo escribir y leer un código en este paradigma.
Para qué se utiliza
Este tipo de programación se utiliza con el objetivo de tener la menor cantidad posible de código. Las tareas se dividen en funciones. El objetivo principal es conseguir lenguajes expresivos y elegantes. La programación funcional se suele emplear en el manejo de la información.