La programación funcional se basa en las ideas de Alonzo Church y trata principalmente con cálculo mediante el uso de funciones como unidad básica. Entre sus principales ventajas se encuentran la ausencia de efectos colaterales, procesos de depuración menos problemáticos, pruebas de unidades más confiables y mayor facilidad para la ejecución concurrente. Además, permite razonar matemáticamente sobre los programas y las operaciones realizadas.