https://www.50a.fr fr glossaire-keyword
EN menu burger

Erlang

Erlang : un langage de programmation orienté processus

Erlang est un langage de programmation plutôt ancien et un peu marginal que peu de personnes connaissent. Bien qu'il ne soit pas aussi populaire que certains langages informatiques modernes, il exécute discrètement des applications comme WhatsApp et WeChat qui touchent des quantités massives d’utilisateurs chaque jour. Alors, quelle est son histoire ? Comment fonctionne-t-il et pourquoi est-il utilisé ?

Un langage de programmation danois

Erlang est un langage de programmation utilisé pour construire des systèmes en temps réel, logiciels massivement évolutifs avec des exigences de haute disponibilité. Il est utilisé dans les télécommunications, la banque, le commerce électronique, la téléphonie informatique et la messagerie instantanée. Le système d’exécution prend en charge la concurrence, la distribution et la tolérance aux pannes.

Le langage porte le nom du mathématicien danois Agner Erlang. À la fin du XIXe siècle, il a travaillé sur la théorie de la file d’attente et l’ingénierie du trafic. Mais l’appellation pourrait être également la contraction de « ERicsson LANGuage ».

En effet, dans les années 1980, c’est dans un laboratoire d’informatique d’Ericsson qu’il voit le jour. À l’époque, les systèmes de commutation téléphonique étaient des systèmes très complexes, comme Internet l’est aujourd’hui. Pour cette raison, le langage utilisé pour les programmer devait prendre en charge une concurrence élevée et aucun temps d’arrêt.

Après avoir passé en revue plusieurs langages existants, Joe Armstrong, Robert Virding et Mike Williams, trois salariés de l’entreprise, ont décidé de créer le leur. Mais, qu’est-ce qui distingue ce langage des autres ?

Un langage de programmation fonctionnel, orienté processus

La principale chose qui distingue Erlang des autres langages est son modèle informatique basé sur les processus. Il utilise des processus isolés et légers qui communiquent entre eux par le biais de messages. Ces processus peuvent recevoir des messages et, en réponse à des messages, créer de nouveaux processus, envoyer des messages à d’autres processus ou modifier leur état. En d’autres termes, il suit le modèle acteur.

C’est un langage de programmation fonctionnel, à l’instar d’autres langages comme Scala et Haskell. Pour permettre une application non-stop, il prend en charge l’échange de code à chaud. Cela signifie qu’il est possible de remplacer le code lors de l’exécution d’un programme. Cela permet d’effectuer des mises à niveau et de la maintenance sans interrompre le système en cours d’exécution.

En mai 2021, une nouvelle version majeure, OTP 24, est sortie, avec de nouvelles fonctionnalités et des améliorations.

À quoi sert Erlang ?

Ce langage est un bon choix pour gérer des connexions très nombreuses, voire massives, et des fonctions de messagerie. Il est adapté à la création d’applications Web rapides et évolutives. Cela correspond à la structure de base du langage. Il est excellent pour :

• des applications de chat. Les applications de messagerie, y compris certains exemples célèbres comme WeChat et WhatsApp, l’utilisent pour gérer un nombre massif d’utilisateurs simultanés.Une plate-forme de messagerie appelée ejabberd peut être utilisée pour créer des applications de chat à grande échelle ;

• des systèmes de file d’attente de messages. RabbitMQ, un courtier de messages open-source qui implémente AMQP et d’autres protocoles, est un bel exemple d’utilisation réussie ;

• de la manipulation binaire. Historiquement, le langage danois a dû prendre en charge la mise en œuvre rapide de protocoles binaires à des fins de télécommunications. Par conséquent, il a des fonctionnalités qui rendent la manipulation binaire beaucoup plus confortable. 

Pourquoi utiliser ce langage de programmation dans un projet ?

Erlang présente trois avantages significatifs par rapport aux autres langages de programmation, qui découlent principalement de la façon unique dont le langage est construit :

• la simultanéité. BEAM, la machine virtuelle du langage, utilise des threads d’exécution légers, les fameux processus. Ceux-ci sont isolés, s’exécutent sur tous les processeurs et communiquent par le biais de messages. En raison de cela et de la nature fonctionnelle du langage, il est moins difficile d’écrire des programmes simultanés ;

• l’évolutivité. Il est parfaitement adapté à la nature distribuée de l’informatique moderne et aux processeurs multi-cœurs d’aujourd’hui. Les processus permettent de mettre à l’échelle facilement les systèmes, à la fois en ajoutant plus de machines et en ajoutant plus de cœurs aux machines existantes ;

• la fiabilité. En raison de l’approche unique de la tolérance aux pannes, les processus légers peuvent être rapidement redémarrés par le système de supervision, ce qui vous aide à construire des systèmes d’auto-réparation.

Erlang est un langage de programmation idéal pour les applications de chat ou de très petits programmes portables avec le moins de dépendances possibles. Si vous êtes une personne curieuse et qui souhaite découvrir une nouvelle façon de programmer, alors ce langage est fait pour vous. Mais, attention, les langages BEAM peuvent parfois surprendre et être déroutants.

Nous contacter
Venez à l'agence de Paris
28 rue du Chemin Vert
75011 Paris
contact@50a.fr
01 40 33 00 65
Emplacement 50A sur google maps
Pas le temps ?

Formulaire de contact

Nom et prénom
Société
E-mail
Mobile
Message

newsletter
Abonnez-vous à notre newsletter !