Programación funcional Flashcards
Cual es la diferencia entre los paradigmas de programación imperativa Vs programación declarativa?
La diferencia es que en la programación imperativa (ya sea secuencial, procedural u orientado a objetos) se indica en formas de ordenes como hacer una tarea, en cambio en la programación declarativa el foco esta en el resultado que quiero obtener y no en como llegar al resultado por ejemplo SQL o HTML.
Qué es la programación funcional?
- Es un paradigma de programación declarativa donde las funciones están en primer lugar y nos centramos en expresiones que pueden ser asignadas a cualquier variable.
- Las funciones pueden se utilizadas como entrada y salida de otras funciones
- Se expresa la lógica sin describir controles de flujo (if, for, while, switch)
Cuales son las diferencias entre las funciones de orden superior VS funciones puras?
Las funciones de orden superior pueden tomar otras funciones como parámetros y devolver funciones como resultados.
Las funciones puras, no son más que funciones comunes que dado el mismo output siempre retornan el mismo output y no tiene efectos secundarios.
Qué es la composición de funciones?
Es el proceso de combinar dos o mas funciones, teniendo como finalidad ejecutar cada una de estas en secuencia.
~~~
f(x)
g(x)
f(g(x))
~~~
Que es la mutabilidad?
Un objetos inmutable es aquel que no puede ser modificado una vez creado.
Qué es un efecto secundario?
Es cualquier cambio de estado en la aplicación que sea observable fuera de la función llamada.