2009-11-25 10 views

Respuesta

7

En un mundo ideal, donde nunca hubo un costo asociado con el desarrollo de nuevas características, el único inconveniente que se puede ver a la inclusión de técnicas de programación funcional sería la confusión a los desarrolladores que no están familiarizados con las técnicas funcionales (y realmente no me ver eso como un inconveniente).

En realidad, tratar las funciones como de primera clase generalmente requiere reescrituras significativas para el propio compilador. El costo de hacer esto tiene que sopesarse contra la ganancia a largo plazo.

2

La adición de esta característica podría ser una desventaja si la introducción del cambio requiere una costosa re-escritura de compiladores de lenguaje, intérpretes y otras herramientas. También podría ser una desventaja si la cultura del idioma no está suficientemente familiarizada con las ventajas proporcionadas por esta característica, en cuyo caso agregar la característica es una pérdida de esfuerzo.

1

Además, las funciones de primera clase requieren la interpretación en tiempo de ejecución del código y alguna forma de recolección de basura. Ambos agregan sobrecarga que podría no ser adecuada para ciertos problemas e idiomas.

+0

No necesariamente. Hay idiomas con funciones de primera clase que no se interpretan y no tienen GC (por ejemplo, C++). Sin embargo, los cierres son más difíciles de implementar sin GC. – liori

Cuestiones relacionadas