Erlang, le langage qui permet de voir grand

Erlang est un langage de programmation de la compagnie Ericsson dont le but premier était de développer le monde des télécommunications. Son nom a une origine double : il s’agit à la fois d’une référence au mathématicien danois Agner Krarup Erlang, et d’une abréviation de « Ericsson Language ». Premièrement intégré dans les équipements d’Ericsson, en tant que langage propriétaire, il est ensuite devenu open source en 1998 avec la distribution OTP (Open Telecom Platform).

La principale force d’Erlang est la notion de concurrence. Une application est subdivisée en processus légers : comparé aux processus ou aux threads traditionnels, le coût des processus Erlang est faible, en ressources machines. Ainsi, un nombre important d’entre eux peuvent être créés sans que les performances ne soient dégradées.

Les processus Erlang s’exécutent sur une machine virtuelle BEAM, ce qui lui permet, tout comme JAVA, d’assurer la portabilité de l’application vers n’importe quelle autre plateforme. Aussi, plusieurs nœuds (machines virtuelles) peuvent être interconnectées et former un système distribué.

Dans ce langage les processus sont isolés ce qui implique qu’il n’y a pas de partage de mémoire, évitant ainsi les problèmes d’accès concurrentiels. L’échange de messages asynchrones assure la communication inter-processus : chaque processus possède une file d’attente où arrivent les messages en attendant d’être lu.

Un tel échange présente la syntaxe suivante :

Pid ! Message

Pid est l’identifiant du processus destinataire et Message est le message à transmettre. Les messages peuvent être aussi bien transmis à des processus du même nœud, qu’à des processus s’exécutant sur des nœuds distants. Si nous savons le nom d’un processus, nous pouvons lui envoyer un message.

Enfin, Erlang possède un environnement riche en fonctionnalités, offrant la possibilité de désigner un processus superviseur qui s’occupera de traiter les erreurs générées par les processus supervisés, ou encore la possibilité de mettre à jour un programme sans l’arrêter.

Des compagnies présentes dans le secteur des télécommunications, comme T-Mobile, Nortel ou encore WhatsApp, utilisent Erlang. Si nous prenons le cas de WhatsApp et de sa messagerie instantanée, nous pouvons aisément comprendre ce choix. Face au nombre d’utilisateurs élevés (1,2 milliards d’utilisateurs actifs mensuellement début 2017, selon le blog anglophone bandwidthblog), la programmation distribuée et les mises à jour à chaud sont indispensables.

— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —

Thomas B. est un étudiant aspirant à devenir ingénieur en télécommunications. Passionné par la vie, les nouvelles technologies et l’automobile, il accorde une attention particulière aux objets communicants et au développement personnel.
Show your support

Clapping shows how much you appreciated Thomas Benard’s story.