• Barajar
    Activar
    Desactivar
  • Alphabetizar
    Activar
    Desactivar
  • Frente Primero
    Activar
    Desactivar
  • Ambos lados
    Activar
    Desactivar
  • Leer
    Activar
    Desactivar
Leyendo...
Frente

Cómo estudiar sus tarjetas

Teclas de Derecha/Izquierda: Navegar entre tarjetas.tecla derechatecla izquierda

Teclas Arriba/Abajo: Colvea la carta entre frente y dorso.tecla abajotecla arriba

Tecla H: Muestra pista (3er lado).tecla h

Tecla N: Lea el texto en voz.tecla n

image

Boton play

image

Boton play

image

Progreso

1/12

Click para voltear

12 Cartas en este set

  • Frente
  • Atrás
¿Qué es la programación funcional?
Es un paradigma de programación declarativa basado en el uso de funciones matemáticas.
¿Cuál es su utilidad?
El objetivo es conseguir lenguajes expresivos y matemáticamente elegantes, en los que no sea necesario bajar al nivel de la máquina para describir el proceso llevado a cabo por el programa.
¿Cuáles son las características principales?
Están constituidos únicamente por definiciones de funciones.
Primera clase y Orden superior
Son funciones que pueden tomar otras funciones como argumentos o devolverlos como resultados.
Funciones Puras
•Si una función pura se llama con parámetros que no causan efectos secundarios
•Si el lenguaje no permite efectos secundarios, entonces cualquier estrategia de evaluación se puede utilizar
Recursivas
Se invocan a sí mismas, permitiendo que una operación se realice una y otra vez hasta alcanzar el caso base.
Evaluación estricta a la no estricta
La diferencia técnica está en la notación semántica de las expresiones que contienen cálculos fallidos o divergentes. Bajo la evaluación estricta, la evaluación de cualquier término que contenga un sub-término fallido hará que este sea de por sí fallido.
Tipos de sistemas
Hace que la manipulación de estructuras de datos complejas convenientes y expresivos, la presencia de comprobaciones estrictas de tipos en tiempo de compilación hace que los programas sean más fiables.
Programación funcional en lenguajes no funcionales
Es posible utilizar un estilo de programación funcional en lenguajes que tradicionalmente no se consideran lenguajes funcionales.
Ventajas
Ausencia de efectos colaterales
Proceso de depuración menos problemático
Pruebas de unidades más confiables
Mayor facilidad para la ejecución concurrente
Desventajas
Los lenguajes funcionales puros crecieron dentro de la burbuja académica, resultando imprácticos para su aplicación en la industria del desarrollo. Esto ha cambiado fuertemente.
¿Cuáles son los lenguajes funcionales?
Entre los lenguajes funcionales puros, cabe destacar a Haskell y Miranda. Los lenguajes funcionales híbridos más conocidos son Scala, Lisp, Clojure, Scheme, Ocaml, SAP y Standard ML. Erlang es otro lenguaje funcional de programación concurrente.