• [^] # Re: Un peu déçu

    Posté par (site web personnel) . En réponse au journal Language F# - Du microsoft, mais il y a un rapport avec le libre !. Évalué à 3.

    surtout qu'à vue de nez, le code pour passer de F# à C# n'est pas monstrueusement plus pratique/sympathique que celui pour passer de Ocaml au C.
    L'intérêt, c'est qu'un wrapper écrit en C# est portable (pas de code natif, rien à recompiler en changeant de plateforme).

    Sinon c'est clair que F# n'est pas aussi puissant que OCaml et aussi rapide. Alors quel est l'intérêt de F# ? La réponse est dans leur FAQ, que je vais essayer de traduire :
    Quels sont les objectifs de F# ?
    Une façon de voir les choses est de considérer que F# tente de résoudre les 7 problèmes majeurs décris dans la publication classique de Wadler : "Pourquoi personne n'utilise les langages fonctionnels ?" : Bibliothèques, Portabilité, Disponibilité, Facilité de déploiement, Outils, Entraînement et Popularité. Parmi ceux ci, F# résoud le problème des bibliothèques (en donnant accès immédiatement à des centaines de bibliothèques .NET de haute qualité ne nécessitant pas de wrapper), la portabilité (le bytecode .NET est portable, par exemple le projet Mono en donne une implémentation sur de nombreuses plateformes), déploiement (les assemblies .NET sont un excellent système de déploiement) et les outils (les outils pour .NET marchent également avec F#).Les autres problèmes sont en partis résolus par le fait que F# a un coeur conçu de la même manière que celui d'Ocaml, une implémentation de langage fonctionnel populaire pour lequel un bon nombre de document d'apprentissage sont disponibles, ainsi que pour la plateforme .NET où l'on trouve de nombreux document d'apprentissage sur le web.


    En gros F# n'apporte pas grand chose au langage proprement dit par rapport à OCaml (comme tu le soulignes, la grammaire est la même, en moins bien supporté), mais apporte de nombreux atouts sur tout l'environnement. Il est ainsi facile d'écrire un module d'un projet .NET en F# sans que les problèmes techniques d'intégration habituels entre environnement différents apparaissent.