8 1: Los tres paradigmas y perspectivas sociológicas LibreTexts Español

En una definición recursiva siempre tenemos un caso general y un casobase. El caso base define el valor que devuelve la función en el casoelemental en el que no hay que hacer ningún cálculo. El caso generaldefine una expresión que contiene una llamada a la propia función queestamos definiendo.

Características

Un último ejemplo en el que implementamos la función (divisores n)utilizando una función de orden superior. Llamamos a los parámetros dato y resultado para remarcar que elprimer parámetro se va a coger de la lista y el segundo del resultadocalculado. Ya hemos visto algunas funciones de orden superior, unas construidaspor nostros y otras propias de Scheme, como apply. La función curso de análisis de datos construye una función anónima de un argumento x (igualque f) en cuyo cuerpo se comprueba si el argumento cumple lacondición y sólo en ese caso se llama a f. Vemos que el código de las tres funciones anteriores es muy similar,cada función la podemos obtener haciendo un copy-paste de otraprevia. Lo único que cambia es la función a aplicar a cada número dela serie.

Ejemplos

Se trata de un paradigma de micro-nivel que describe procesos a pequeña escala y sistemas sociales de pequeña escala; le interesa el comportamiento individual. Otros lenguajes de programación no están diseñados específicamente para seguir un estilo funcional, sin embargo lo ofrecen como alternativa. Por ejemplo, Perl, JavaScript y Python https://elnorteinforma.com/ganar-un-salario-por-encima-del-promedio-entrar-en-el-mundo-de-los-datos-con-el-bootcamp-de-tripleten/ fueron diseñados con capacidades de programación funcional, además de incorporar otros paradigmas. Versiones recientes de lenguajes originalmente sin capacidades funcionales, como C++ y Java, han ido incorporando algunos conceptos de la programación funcional. Vemos que utilizamos el parámetro n en el cuerpo de la expresiónlambda.

  • Hemos visto que las primitivas and y or no son funciones, sinoformas especiales.
  • No obstante, varios lenguajes de programación destacados que siguen un paradigma de programación funcional, como Clojure, Erlang, F #, Haskell y Racket, se utilizan ampliamente para desarrollar una variedad de aplicaciones comerciales e industriales.
  • Es útil para desarrollar especificaciones ejecutables e implementaciones de prototipos.
  • Esto significa que, en programación funcional pura, dos o más expresiones sintácticas idénticas (por ejemplo, dos llamadas a rutinas o dos evaluaciones) siempre devolverán el mismo resultado.
  • En cada llamada a función, se crea una copia de esta estructura de datos que se diferencia con el resultado de la función.
  • Incluso JavaScript, uno de los lenguajes de programación más utilizados, hace alarde de las propiedades de un lenguaje funcional de tipo dinámico.

4. Modelo de computación de sustitución¶

paradigma funcional

El primer lenguaje en implementar este modelo fue LISP y hoy por hoy es considerado por muchos el lenguaje de programación funcional por excelencia. Sobresale también en la implementación de modelos matemáticos complejos. Por esta razón, uno de los principales usos de los lenguajes funcionales ha sido tradicionalmente académico.

Por qué la programación funcional es más relevante hoy que nunca

En el orden aplicativo se realizan las evaluaciones antes de realizarlas sustituciones, lo que define una evaluación de dentro a fuera delos paréntesis. La regla 4 tiene dos variantes, dependiendo del orden deevaluación que utilizamos. En el intérprete REPL del DrRacket sí que podemos definir másde una vez la misma función o identificador. Se ha diseñado así parafacilitar el uso del intérprete para la prueba de expresiones enScheme.

  • La función map aplica transforma a los elementos cogidos de las nlistas y construye así la lista resultante.
  • Otra forma en la que los lenguajes funcionales pueden simular estados es rodeando una estructura de datos que representa el estado actual como un parámetro para llamadas a funciones.
  • Aquí hay que apartarse bastante del modelo de evaluación desustitución que hemos visto y utilizar un nuevo modelo en el que setiene en cuenta los ámbitos de las variables.
  • La última característica de los tipos de primera clase es que puedenformar parte de tipos de datos compuestos, como listas.
  • La función combina se aplica a los elementos de la lista dederecha a izquierda, empezando por el último elemento de la lista yel valor inicial base y aplicándose sucesivamente a los resultadosque se van obteniendo.

Programación Funcional en Python