Ce projet vise à développer un serveur IRC en utilisant le langage Erlang.
Je l'envisage plus dans un cadre d'apprentissage d'Erlang que dans celui
de créer un serveur à utiliser en production. En effet, connaître/matrîser
un langage avec un autre paradygme que l'impératif ou l'objet est formateur
dans les démarches de conception et de développement.
Il a été conçu et développé par Ericsson pour concevoir des routeurs ATM
et est utilisé essentiellement dans le domaine des télécommunications.
Il est toutefois adapté pour tout type d'application serveur demandant
une forte disponibilité. Ses principales caractéristiques sont :
- orienté processus : chaque application est un ensemble de processus
communiquant de façon transparente sur une machine ou sur une grappe,
- syntaxe basée sur la logique des prédicats comme Prolog. Donc plutôt éloignée
de celle des C/C++/C#/Java mais elle est d'une simplicité propre à ce type
de langage,
- fonctionne sur une machine virtuelle mais peut être compilé pour une
architecture spécifique,
- philosophe du let it crash : mécanisme de processus superviseur et
de processus travailleur (via OTP). Si un processus termine suite à une erreur,
il est immédiatement redémarré,
- code changeable à chaud : un correctif peut être appliqué sans
interrompre le service,
D'autres idées/projets sont passés avant, donc il est au point mort.