• [^] # Re: Programmation Fonctionnelle

    Posté par . En réponse au journal Votre langage idéal ?. Évalué à 2.

    Enfin le fait d'avoir des fonctions de première classes (qui peuvent être utilisées comme n'importe quelle valeur) est très utile pour avoir un style fonctionnel sans contraintes, et justement C n'a pas cette fonctionnalité: tu as les pointeurs de fonctions, mais tu ne peux pas pour autant définir des fonctions imbriquées les unes dans les autres, ou plus généralement construire des fonctions dynamiquement au runtime -- on émule ça en faisant de la conversion de clôture à la main pour se ramener à avoir seulement des fonctions toplevel, mais ça revient à demander au programmeur de faire à la main une passe de compilation.

    Par ailleurs, le fait d'avoir un GC est quand même très utile pour la plupart des idiomes de la programmation fonctionnelle (par exemple, sans GC, beaucoup de fonctions ne sont plus naturellement tail-récursives), c'est un style qui alloue beaucoup et dans lequel la durée de vie des valeurs est difficile à maîtriser statiquement. On peut faire de la programmation fonctionnelle sans GC, mais c'est subtil et ça reste plutôt un sujet de recherche.