ventajas programacion paradigmas orientada objetos funcional ejemplos desventajas functional-programming

functional-programming - paradigmas - programacion funcional ventajas y desventajas



¿A qué tipo de problema es adecuada la programación funcional? (12)

La programación funcional parece ser un paradigma en la informática que tiene cada vez más eco.

Me pregunto qué tipo de problemas se resuelven mejor con un enfoque de programación funcional en lugar de con un enfoque más tradicional orientado a objetos.

Gracias.


Estoy de acuerdo con Galwegian -

"Los lenguajes funcionales se usan mucho en matemáticas y estadísticas".

Sin embargo, esos no son los únicos usos. A medida que los lenguajes de programación funcionales se generalicen, es probable que comiences a buscar clases de negocios / bibliotecas / software escritas en estos idiomas.


La programación funcional es ideal para crear programas que pueden someterse a ejecución en paralelo, ya que desalientan el uso de estados globales.


La programación funcional es la más adecuada para la mayoría de los tipos de problemas, incluido todo aquello para lo que normalmente se utilizaría la programación orientada a objetos, excepto tal vez los problemas que requieren el almacenamiento de muchos estados u otros efectos secundarios. Aparte de eso, FP maneja problemas complejos mucho más elegantemente que OOP, ya que gran parte proviene de un fondo matemático (comenzando con el cálculo lambda). Tienes mucha más flexibilidad en cuanto a abstracción y composición. Un programa orientado a objetos con muchos patrones de diseño podría refactorizarse utilizando construcciones más funcionales que le permitirán hacer lo mismo sin las estructuras repetitivas que los patrones de diseño le hacen escribir. Además de las matemáticas y el análisis sintáctico, FP también se ha utilizado ampliamente en la inteligencia artificial (particularmente Lisp).


Las hojas de cálculo básicas se pueden ver como programas funcionales ... :)


Los lenguajes funcionales se usan mucho en matemáticas y estadística.


Para avanzar en el punto de ejecución paralelo, los lenguajes funcionales tienden a ser buenos para el modelado gráfico, como el trazado de rayos.


Por ejemplo, el lenguaje funcional ML es bueno para implementar compiladores y otras aplicaciones que manipulan árboles.


Prácticamente todo lo que tiene muchas matemáticas.


Si está escribiendo plantillas C ++, está trabajando en un lenguaje funcional puro.


XSLT es un ejemplo de lenguaje de programación funcional para realizar transformaciones de datos o documentos representados como XML, aunque es muy detallado y muy limitado. Si mal no recuerdo, XQuery también es puramente funcional. Los trucos son que, sin ningún concepto de estado global, están en un programa host para suministrar los datos y consumir sus resultados. Esto ayuda a mantener los programas XSLT (hojas de estilo) puros y reutilizables, pero necesita agregar algún tipo de marco (imperativo) para usarlos como parte de un sistema de procesamiento de propósito general.


Estructuras de datos. Ejemplo: compare la implementación imperativa de un Heap de Fibonacci (a menudo utilizado como cola de prioridad) con la implementación funcional. A menudo, el código funcional será de menos de 100 líneas de código, mientras que la implementación imperativa puede ser muchas más líneas de código.