> Tech > F# dans l’Enterprise : accélérer le travail de votre équipe de développement

F# dans l’Enterprise : accélérer le travail de votre équipe de développement

Tech - Par Robert Pickering - Publié le 18 octobre 2012
email

Dans ce second article, nous allons voir que des équipes de développement informatique, issues d’éditeurs de logiciels ou d’entreprises ‘finales’, ont adopté F# car ce langage leur permet de livrer leurs projets plus rapidement et avec moins de bugs.

F# dans l’Enterprise : accélérer le travail de votre équipe de développement

Pour rappel, nous avions vu dans le précédent article de ce dossier « F# dans l’Enterprise : pour une meilleure intégration avec votre équipe de recherche », que F# était un langage en cours d’adoption forte par des équipes de chercheurs désireux de donner vie plus rapidement aux idées ‘théoriques’ issues des laboratoires.

F# dans l’Enterprise

Nous allons donc tenter de démontrer que F# est plus qu’un « outil spécialisé », et qu’il est très adapté au développement d’applications de complexité variable, dont on attendra une aisance de lecture, écriture et maintenabilité forte.

Un langage productif

Une des principales raisons de l’adoption de F# par des architectes et développeurs est la productivité que leur apporte ce langage.

Phillip Trelford, architecte logiciel chez à TRAYPORT, éditeur de logiciels d’accès aux marchés électroniques témoigne :

« Le retour de Trayport sur l’utilisation de F# est qu’il nous a conduits à des gains significatifs de productivité : des problèmes qui prendraient des semaines à être traités avec des langages traditionnels le sont régulièrement en quelques jours par nos développeurs F# ».
(Source : email privé)

Les motifs de ces gains de productivité sont les suivants :

–    Une syntaxe légère permettant d’exprimer des concepts complexes avec peu de code
–    Un langage ne nécessitant que très peu de répétitions
–    Un langage fortement typé, mais qui reste léger grâce à l’inférence de type
–    Un système de typage plus riche que les langages traditionnels

Par exemple, il est possible de typer des valeurs numériques avec l’unité correspondante, afin qu’il soit impossible d’additionner des valeurs exprimées en mètre avec des valeurs exprimées en pouce.

–    Globalement, les langages de type ‘fonctionnel’ produisent des logiciels plus faciles à tester car leur code est écrit dans un style déterministe, les mêmes arguments produisant donc toujours le même résultat.

Un langage de plus en plus populaire, avec une communauté active

En août 2011, l’index TIOBE, évaluant l’adoption des langages de programmation, a classé F# dans les 20 langages les plus populaires.

L’une des raisons de ce succès, selon TIOBE, est qu’ « en plus d’être un langage bien conçu, F# est disponible dans la dernière version Visual Studio 2010 de Microsoft. » (Source)

Déjà, en août 2010, le « Technology Radar » de ThoughtWorks notait que la popularité des langages fonctionnels en général, et de F# en particulier, était en forte progression.

Ils expliquaient alors:

Deux caractéristiques principales sont à l’origine de l’intérêt pour les langages fonctionnels :

« Deux caractéristiques en particulier des langages fonctionnels sont à l’origine de cet intérêt : leur immutabilité, avec ses implications pour le parallélisme ; et les fonctions définies comme des objets de première classe. Si l’introduction de fermetures à C# apporte certaines de ces capacités à ce dernier, les langages fonctionnels sont presque synonymes d’immutabilité par nature. »
(Source)

Un autre témoignage particulièrement significatif sur F# est celui d’Adam Granicz, PDG d’IntelliFactory, société spécialisée dans ce langage :

« En 2004, lorsque nous avons fondé IntelliFactory pour nous spécialiser sur le développement F#, quelques dizaines de personnes dans le monde n’avaient ne serait-ce qu’entendu parler de ce langage. Lorsque je discutais avec diverses entreprises sur notre positionnement, j’étais souvent accueilli avec une totale incrédulité : comment une entreprise spécialisée sur une technologie inconnue de tous pourrait-elle réussir ? 6 ans plus tard, après avoir réalisé plus de 130 projets en F#, animé de nombreuses conférences et ateliers techniques présentant notre travail, et s’être confronté quotidiennement à des problématiques parmi les plus complexes et intéressantes, je dois dire qu’il n’y a pas plus gratifiant que ce que nous faisons : imaginer quelque chose d’ambitieux, le réaliser avec F#, et constater ce que cela apporte à nos interlocuteurs. »
(Source)

Plusieurs signes confirment la croissance importante de la communauté F# de par le monde.

Tout d’abord, des grand villes comme Paris, Londres et New York comptent déjà un Groupe Utilisateur F# se regroupant régulièrement pour partager et échanger sur les dernières évolutions du langage ainsi que présenter leurs deniers projets.

Deuxièmement, des sites Internet communautaires de grande réputation publient fréquemment des articles et questions/réponses sur F#, à l’instar de stackoverflow.com, des forums MDSN, et de fpish.net – un site dédié à F#, et qui compte plusieurs milliers de contributeurs.

Enfin, on trouve désormais de nombreux projets open source écrits en F# et hébergés sur des sites comme codeplex.com et github.com.

Les technologies de demain disponibles aujourd’hui

À la conférence //Build à Los Angeles en septembre 2011, Anders Hejlsberg, Responsable des langages C# et VB chez Microsoft Corporation, a indiqué : « Beaucoup du travail réalisé pour les prochaines releases de C# et VB a été influencé par le travail déjà réalisé par l’équipe F# de Microsoft ».

Il évoque ici deux points :

–    les améliorations des langages C# et VB.NET pour la programmation asynchrone, qui seront disponibles avec la prochaine version de Visual Studio, dont le nom de code est« Visual Studio 11 », prévue pour la fin de l’année 2012
–    la version interactive de C# et VB.NET, surnommée « Roslyn », prévue avec la release après Visual Studio 11.

Ces fonctionnalités étant déjà disponibles en F#, les utiliser dès maintenant via ce langage peut permettre de gagner au moins un an sur la concurrence.

Dans les deux prochains paragraphes, nous allons préciser ces deux fonctionnalités correspondant au futur de de C#, et au présent de F#.

Téléchargez cette ressource

Guide de Sécurité IA et IoT

Guide de Sécurité IA et IoT

Compte tenu de l'ampleur des changements que l'IA est susceptible d'entraîner, les organisations doivent élaborer une stratégie pour se préparer à adopter et à sécuriser l'IA. Découvrez dans ce Livre blanc Kaspersky quatre stratégies efficaces pour sécuriser l'IA et l'IoT.

Tech - Par Robert Pickering - Publié le 18 octobre 2012