> Tech > Programmation parallèle et asynchrone

Programmation parallèle et asynchrone

Tech - Par iTPro - Publié le 18 octobre 2012
email

La programmation asynchrone et parallèle connaît un essor important pour différentes raisons : côté client, elle permet de créer des IHM plus réactives que les IHM traditionnelles.

Programmation parallèle et asynchrone

Côté serveur, elle permet de développer des applications plus performantes, nécessitant in fine moins de serveurs pour les exécuter.

Nicolas Erny, un ingénieur au sein de la société Française Neomantis, nous explique les avantages de F# dans ce domaine : « La programmation concurrente et asynchrone est au cœur des problématiques de notre projet Xcomponent, plateforme gérant le cycle de vie de composants logiciels (conception, modélisation, déploiement, exécution, monitoring). F# fournit de base une implémentation du pattern actor model basé sur la programmation asynchrone, concept clé de l’architecture de notre moteur d’exécution. F# étant un langage fonctionnel, il simplifie l’écriture de code en environnement multithreadé grâce à l’utilisation intensive de structures de données non mutables. Ce modèle de programmation dépourvu de lock facilite la mise en place de tests unitaires, réduit les risques de bugs liés au multithreading et encourage une architecture efficace sans ‘’goulots d’étranglement’’. Concrètement, nous constatons des gains significatifs de productivité et de performance. » (Source : email privé)

Scripting : F# pour créer des prototypes rapidement !

F# permet d’écrire du code dans un style script, c’est-à-dire sans utilisation de modules ou classes. Il permet également d’exécuter du code interactivement via REPL (Read-Evaluate-Print-Loop), intégré dans Visual Studio. Ecrire du code dans ce style est très productif pour atomiser de petites tâches répétitives et, en définitif, tester des idées plus facilement et rapidement.

Développeur et statisticien au sein de la startup innovante parisienne MFG Labs, Joachim de Lezardiere, nous explique :

« Grâce à la console F# Interactive, nous pouvons rapidement tester des librairies .Net, explorer des ensembles de données, accéder et manipuler des API. Le code est écrit de façon progressive, fonction par fonction, à la fin du processus. Les différents tests exécutés avec la console F# Interactive et le typage fort de F# mènent à du code avec très peu de bugs. La console F# interactive est aussi un outil formidable pour apprendre le langage F# et plus généralement les langages fonctionnels. »
(Source : email privé)

Le futur de F# : les type providers

L’équipe F# de Microsoft Corp. poursuit actuellement le développement de ce langage et son intégration avec Visual Studio. La prochaine version de F#, F# 3.0, qui sera disponible avec Visual Studio 11, mettra l’accent sur la programmation avec des informations riches. L’objectif est de permettre une analyse des données facilitée avec F#, au vu de la croissance significative des volumes et sources de données distinctes présentes dans les entreprises aujourd’hui. Pour cela, une nouvelle fonctionnalité, les type providers, a été créée. On peut trouver l’explication suivante sur le blog de l’équipe F# de Microsoft Corp. :

« Le mécanisme de Type Provider de F# vous permet de parfaitement intégrer, de manière fortement typée, des données et services provenant de sources externes. Un fournisseur de type est un composant qui présente votre programme avec de nouveaux types et des méthodes qui sont généralement basées sur les schémas des sources d’information externes. Par exemple, un fournisseur de type F# pour SQL fournira les types et les méthodes qui permettent aux programmeurs de travailler directement avec les tables de toute base de données SQL. Ces types et méthodes peuvent dépendre de paramètres qui sont spécifiés dans le code ou les fichiers de configuration. Cela vous permet d’intégrer des espaces d’information externes directement dans votre programme. »
(Source)

Conclusion

Dans cet article, nous avons vu différentes façons selon lesquelles F# peut faciliter le développement de logiciels, plus rapidement et à un coût réduit. F# se distingue des langages traditionnels au travers de différentes fonctionnalités, telles que la version interactive et ses facilités pour la programmation asynchrone.

Le soutien continu de Microsoft et le développement des différentes communautés actives autour de F# laissent présager un avenir prometteur à ce langage.

Téléchargez gratuitement cette ressource

Le Guide d’Orchestration du Parcours client

Le Guide d’Orchestration du Parcours client

Au-delà de la clarification des nouveaux concepts de gestion du parcours client, ce guide vous permettra de définir, créer et mettre œuvre une orchestration complète articulée autour des trois volets essentiels au succès de l’expérience client et de l’entreprise.

Tech - Par iTPro - Publié le 18 octobre 2012