[Lang] [F#] Éthique
Mise à jour : pour plus d'informations sur F#, je vous recommande mon site. À l'heure où j'écris ces lignes, c'est le seul endroit en français parlant de F#. Voir les articles sur F# de Laurent Le Brun.
Philosophie de F#
Une des choses qui m'ont gêné quand j'ai découvert F#, c'est que ce soit fait par Microsoft. Je soutiens autant que possible les logiciels libres, mais ça doit être la première fois que je trouve un produit Microsoft vraiment intéressant. Un produit Microsoft ? Pas vraiment en fait. Don Syme (le créateur du F#) précise : "F# is a research project from Microsoft Research. It is not a Microsoft product."Au premier abord, je ne voyais pas trop la différence. Mais c'est peut-être ce qui explique pourquoi la F# reste bon esprit. Je suppose que les développeurs n'ont pas toutes les contraintes des produits Microsoft et qu'ils ont donc plus de liberté.
Pourquoi F# ?
Dans son article "Why no one uses functional languages", Wadler soulève 7 problèmes fréquents des langages fonctionnels : "Libraries, Portability, Availability, Packagability, Tools, Training, Popularity". L'article a presque 10 ans et Caml a résolu plusieurs de ces problèmes. F# tente d'aller plus loin en s'appuyant sur la plate-forme .Net. D'un seul coup, le manque de bibliothèques n'en est plus un (on a accès nativement à toutes les fonctions de .Net), le produit devient portable (ça fait plusieurs années que ce n'était plus un problème des langages fonctionnels, donc pas de changement). De plus, les outils de .Net et ceux de Caml (notamment les modes pour emacs !) sont accessibles. Ce qui me rassure surtout, c'est que F# devrait s'imposer beaucoup plus facilement en industrie que Caml. Hé oui, si une entreprise développe principalement en C# (et il y en a de plus en plus), ça ne posera pas de véritable problème d'insérer du F#. Enfin, je pense...
F# cherche au maximum à rester compatible avec OCaml. Les ajouts de F# (en particulier la surcharge de fonctions et d'opérateurs)ne génèrent pas d'incompatibilité : il est même possible de cross-compiler du F# et du Caml pour peu que l'on n'utilise pas de fonctionnalités trop spécifiques. Oui, F# est encore en bêta et n'implémente pas tout OCaml. Mais quand même, tout code basique fonctionnera à l'identique dans les deux langages.
F# et le libre
Ce qui m'a surpris quand j'ai téléchargé F# sur le site de Microsoft, c'est la présence de scripts shell dans le fichier zip. Hé oui, tout a été fait pour faciliter la vie aux utilisateurs d'Unix. Etonnant pour un produit Microsoft ? Non, on a dit que n'est pas un produit Microsoft.
Le manuel fourni explique autant l'installation sous Windows que sous Unix. De plus, ils ne cherchent pas à imposer l'utilisation de Visual Studio ou d'autre outil Microsoft. Non, le manuel parle autant de Visual Studio que d'Emacs. Et sous Emacs, tout est simple : il suffit de récupérer le mode Caml distribué par l'INRIA et tout marche parfaitement. Le mode interactif que j'aimais tant avec Caml fonctionne nativement avec F#.
Et enfin, selon certaines rumeurs, F# pourrait devenir open-source. Je vais voir si ça se précise.
- LLB
- 00:05
- > Lien permanent
- > Commentaires
- > Abus ?


![[Jeu] Ideo](images_/carre1.gif)
![[Lang] [F#] Éthique](images_/carre3.gif)
