Cellenza a eu le plaisir d’accueillir la soirée Alt.Net Fr : «Ce qu’Erlang peut nous apprendre sur la programmation concurrente », le 6 juin dernier (le billet d’annonce).
Yann Schwarz nous a apporté son expertise sur le langage Erlang qu’il utilise actuellement sur un projet.

Erlang

Thèmes abordés

Durant 2 heures d’exposé, il a abordé de nombreux aspects liés à Erlang tels que les spécificités du langage et de la plateforme. On a appris dans quelle mesure ces spécificités sont intéressantes lors de la réalisation d’applications concurrentes. Enfin, au travers de quelques exemples, nous avons vu comment mettre en pratique ce langage et les techniques de développement qui vont avec.

Ce que nous avons retenu

Il s’agit d’un langage totalement différent de .Net, mais il est intéressant de voir comment d’autres langages sont implémentés pour répondre à une problématique commune : les applications fortement parallélisées.

Voici quelques éléments que j’ai pu retenir et qui me semblent intéressants : le premier est l’immutabilité des variables définies. Cela permet de ne pas avoir de problème de concurrence sur la modification d’une valeur car celle-ci est impossible. Mais le plus intéressant est la manière dont le multithreading est implémenté. Chaque fonctionnalité se retrouve dans ce que l’on appelle « Process ». Ceux-ci sont indépendants les uns des autres et disposent de leurs propres Stack et Garbage Collector et dialoguent entre eux via un mécanisme de boite aux lettres.

Cette approche permet de construire des applications très robustes car tous les « Process » sont indépendants et sont mis en relation par un chef d’orchestre qui a pour rôle d’assurer le bon fonctionnement de l’application. Ainsi si pour une raison quelconque un de ces « Process » venait à disparaître, le chef d’orchestre peut en recréer un nouveau et l’application va continuer à fonctionner. Un autre point fort de cette approche est de faciliter la monter en charge de l’application. En effet, grâce au mode de communication des « Process », il est relativement facile de les distribuer sur plusieurs serveurs.

Process en erlang

Vous pouvez retrouver les slides de la présentation de Yann Schwarz ici.

Soirée Alt.Net en bref …

Nous avons beaucoup appris au cours de cette soirée et espérons renouveler l’expérience afin de partager de nombreux sujets au sein de la communauté .Net.

Merci à l’association Alt.Net d’avoir choisi Cellenza pour son événement.