Junior — Middle
¿Puede explicar los fundamentos de los principios y enfoques de la programación funcional?
sobes.tech AI
Respuesta de la IA
La programación funcional (PF) es un paradigma de programación basado en el uso de funciones como bloques constructores principales y en evitar la modificación del estado y los efectos secundarios.
Principios y enfoques clave de la PF:
- Funciones puras: una función siempre devuelve el mismo resultado para los mismos datos de entrada y no modifica el estado externo.
- Inmutabilidad: los datos no cambian después de su creación, en su lugar se crean nuevas copias con cambios.
- Funciones de orden superior: funciones que aceptan otras funciones como argumentos o las devuelven.
- Recursión en lugar de bucles: la recursión se usa a menudo para repetir operaciones.
- Ausencia de efectos secundarios: las funciones no deben modificar variables externas, archivos, bases de datos, etc.
Ejemplo en C++ (usando funciones lambda):
#include <iostream>
#include <vector>
#include <algorithm>
int main() {
std::vector<int> numbers = {1, 2, 3, 4, 5};
// Función de orden superior: pasar una función lambda a std::for_each
std::for_each(numbers.begin(), numbers.end(), [](int n) {
std::cout << n * 2 << " ";
});
return 0;
}
Aquí no modificamos el vector original, simplemente aplicamos una función a cada elemento para mostrarlo, lo cual se ajusta a las ideas del enfoque funcional.