Inscrivez-vous gratuitement à la Newsletter BFM Business
F#, le nouveau langage de programmation déclaratif de Microsoft, devrait favoriser le développement d'applications moins sujettes aux bogues. Il est notamment adapté au calcul financier et à l'analyse de codes.
Les faits
Fin octobre, Microsoft a annoncé l'intégration du langage F# dans sa plate-forme Visual Studio. F# a été mis au point dans les laboratoires de Microsoft. Il dérive d'Objective Caml, un langage de programmation fonctionnelle développé par l'Inria, et s'intègre au framework .Net.
L'analyse
Encore un nouveau langage au menu des développeurs Microsoft. Et pas n'importe lequel. ' C'est l'une des meilleures choses qui soient arrivées à Microsoft depuis la création de Microsoft Research, il y a quinze ans ', indique sur son blog Monsieur Somasegar, Corporate Vice President de la division développeur chez Microsoft. F# (prononcez ' F sharp ') est un langage de programmation fonctionnelle. Avec ce type de langage, les instructions se rapprochent d'une fonction mathématique. Contrairement à la programmation dite impérative, dans laquelle on assigne des valeurs successives à des variables, la programmation fonctionnelle interdit en théorie toute assignation, évitant par exemple de déborder d'un tableau. Les programmes ainsi développés sont censés être plus fiables. Mais les langages fonctionnels sont plus difficiles à assimiler, surtout pour une personne habituée aux langages impératifs comme C++.En France, l'Inria a développé Caml et sa déclinaison orientée objets Objective Caml (OCaml) dont est dérivé F#. A tel point que certaines bibliothèques et applications OCaml peuvent être directement compilées pour .Net. Parmi les caractéristiques qui font d'OCaml un langage sûr : toutes les expressions sont typées. Ce typage simple (entier, réel) ou plus sophistiqué (une liste, par exemple) est inféré par le compilateur, ce qui réduit le travail du développeur et allège le code. Comprenant des fonctions de calcul symbolique (Caml a été développé à l'origine pour la démonstration de théorèmes mathématiques), le compilateur OCaml sait repérer une option manquante dans une fonction. OCaml offre aussi des propriétés de polymorphisme. Autrement dit, une même fonction, telle qu'un tri, peut s'appliquer à différents types de données, entre autres, une paire de nombres ou une liste non numérique. Enfin, OCaml dispose d'une gestion automatique de la mémoire (ramasse-miettes).
Des applications en cours
Bref, autant de propriétés intéressantes qui font qu'un langage à l'origine plutôt universitaire a sa place en entreprise, ce que Microsoft compte prouver avec F#. Ce dernier a été développé spécifiquement pour la machine virtuelle CLR de .Net et n'est donc pas disponible nativement, contrairement à OCaml. Avantage, F# peut accéder aux API de l'ensemble de la plate-forme .Net, tandis que d'autres langages pourront avoir accès aux bibliothèques F#. Comme OCaml, F# est adapté à la simulation financière, au calcul scientifique, à l'analyse de code, et au datamining. De fait, l'outil de vérification de pilotes SDV (Static Driver Verifier), que Microsoft destine aux fabricants de matériel, a été écrit en OCaml. Autre application, Microsoft a exploité F# pour mettre au point un outil consacré à l'ajustement du niveau de difficulté du jeu Halo 3, en s'appuyant sur les réactions des testeurs. Microsoft a également un projet dans le domaine de l'analyse de protocole cryptographique.
Votre opinion