> Tech > F# : Un langage orienté mathématique et vite intégré

F# : Un langage orienté mathématique et vite intégré

Tech - Par Renaud ROSSET - Publié le 30 mars 2012
email

S’il y a bien une raison pour que F# devienne populaire auprès des chercheurs, c’est parce qu‘il se base sur les mathématiques.

F# : Un langage orienté mathématique et vite intégré

Comme tous les langages fonctionnels, F# est basé sur les calculs lambda, qui permettent d’exprimer des concepts mathématiques facilement. Les équations peuvent être exprimées dans un format qui est similaire à leur notation mathématique.

Pour Ralf Herbrich, responsable du développement chez Microsoft Research Cambridge, il s’agit d’un aspect qui est très important, comme il l’indique dans ce témoignage: « Nous avons développé une application pour analyser des millions des feedbacks. Nous avons développé le modèle des équations sur papier et je les ai simplement tapées en tant que tel, dans un programme F# ; avec les accès à la base de données et l’enregistrement des résultats dans un fichier, le programme tenait en cent lignes de code (commentaires compris). »

Un langage intégré, et vite !

Un point très fort de F# est qu’il est basé sur le Framework .NET. Il profite déjà du moteur stable et riche, avec des composants de sa bibliothèque de base qui proposent beaucoup de fonctionnalités. Comme F# peut exploiter tous les composants disponibles du Framework .NET, il bénéficie déjà d’un écosystème très riche de composants open source ou proposé par des éditeurs de logiciel. De plus, en utilisant des systèmes déjà en place dans le Framework .NET, F# est capable d’appeler du code natif en utilisant des API comme win32/win64, ou des composants COM. Mais le meilleur atout de F# est peut-être tout simplement qu’il est facile à utiliser conjointement dans des projets Visual Studio C#, pour qu’une équipe puisse exploiter le meilleur des deux langages.

Simon Cousions, Senior developer à EON Energy Trading, explique: « Un des point forts de F# est son interopérabilité. Je peux définir l’interface pour un moteur de calcul en C# et l’implémenter en F#. Le moteur de calcul peut être injecté dans n’importe quel module C# sans aucun souci d’interopérabilité. Tout simplement. Le développeur C# ne va jamais s’en rendre compte. »

En plus d’être interopérables, les programmes écrits en F# s’exécutent rapidement. Comme C#, F# est un langage compilé en un langage intermédiaire qui est ensuite recompilé, à l’exécution, en code natif, ce qui permet d’obtenir une bonne vitesse d’exécution. Nous sommes maintenant dans l’âge des processeurs multicoeurs et pour exploiter leur puissance, il faut utiliser de la programmation parallèle. Toute l’innovation dans la programmation parallèle vient de la recherche faite dans la programmation fonctionnelle et F# ne manque pas de puissance dans cette domaine. Bien sûr, des programmes F# peuvent facilement utiliser la Parallel Task Library (TPL) de Microsoft, mais en F#, il est également possible de faire de la programmation asynchrone et d’exploiter la programmation par acteur. Nous aborderons plus en détail les concepts de programmation parallèle et programmation asynchrone dans le 2nd article de ce dossier : « F# pour accélérer le travail de votre équipe de développement ».

Téléchargez cette ressource

Cybersécurité des collectivités : Enjeux, Perspectives & Solutions

Cybersécurité des collectivités : Enjeux, Perspectives & Solutions

Villes, intercommunalités, métropoles, départements et régions sont particulièrement exposés aux risques de cybersécurité. Ce livre blanc Stormshield présente les défis cyber que rencontrent les collectivités, les solutions et perspectives pour qu’elles puissent assurer leur mission d’utilité publique, en toute sécurité.

Tech - Par Renaud ROSSET - Publié le 30 mars 2012