Aunque las raíces de la programación funcional se remontan a la década de 1930 (como parte de la investigación matemática básica), la estrategia funcional sigue gozando de gran popularidad, especialmente en los campos técnico y matemático. Esto se debe a diversos motivos:
- amplias opciones de transformación algebraica de programas,
- amplias posibilidades de síntesis algebraica de programas,
- sencillas opciones de análisis semántico gracias a la renuncia a los “estados internos en el proceso de cálculo” y los “efectos secundarios”,
- desaparición de estados internos (a diferencia de la programación imperativa, no se requieren estados internos de un proceso de cálculo),
- renuncia a los efectos secundarios (los cambios de estado correspondientes a los estados internos, los llamados efectos secundarios, también se pueden eliminar en las tareas funcionales).
La programación funcional ofrece un alto grado de abstracción, ya que está basada en el concepto matemático y el principio de función. Cuando se aplica de forma correcta, este tipo de programación crea un código muy preciso. A partir de tantas unidades pequeñas, reutilizables y altamente especializadas como sea posible, se crea un programa para la solución de una tarea sustancialmente mayor.
Por esto, hay numerosas razones prácticas por las que la programación funcional y los lenguajes de functional programming que trabajan con este principio siguen ocupando una posición especial dentro de la informática actual, especialmente cuando se trata de tareas matemáticas y algoritmos complejos. A la vez, la especialización de las áreas de aplicación contribuye a que los lenguajes de programación funcional ocupen un nicho particular.