Diferencia entre revisiones de «Programación funcional»

Contenido eliminado Contenido añadido
Aosbot (discusión · contribs.)
m Mantenimiento de Control de autoridades
m a tilde was missing
Línea 75:
 
=== La 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. Por ejemplo, tanto [[D (lenguaje de programación)|D]] y [[Fortran]]95 se apoyan explícitamente en funciones puras. [[Funciones de primera clase]], se han añadido lentamente a los lenguajes principales. Por ejemplo, a principios de 1994, el apoyo a lambda, filtro, mapa, y reducir estaestá en [[Python]]. Luego, durante el desarrollo de [[Python]] 3000, [[Guido van Rossum]] pidió la eliminación de estas características. Sin embargo, más tarde cambió de opinión, y solo la reducción fue eliminado, a pesar de que sigue siendo accesible a través de los módulos de biblioteca [[functools]] estándar. Funciones de primera clase también fueron introducidas en [[PHP]] 5.3, [[Visual Basic]]9, [[C#]]3.0 y [[C]]++11.
 
En Java, las clases anónimas a veces pueden ser utilizados para simular [[Clausura_(informática)|clausuras]]. Sin embargo, las clases anónimas no son siempre los reemplazos completos de las clausuras, ya que tienen capacidades más limitadas. Por ejemplo, Java 8, incluye [[expresiones lambda]] para reemplazar determinadas clases anónimas. Sin embargo, la presencia de excepciones con comprobaciones en este lenguaje puede desaconsejar el uso de programación funcional, ya que puede ser necesario para capturar las excepciones que se deben controlar para después volverlas a lanzar ellos (problema este que sin embargo no se produce en otros lenguajes sobre [[JVM]] que no tienen excepciones comprobadas, como es [[Scala (lenguaje de programación)|Scala]]).