La plupart des fonctionnalités du langage se retrouvent dans d'autres langages, mais éparpillées.
Par exemple:
- langage compilé: assez rare dans les langages "haut niveau" (js, ruby, python...)
- méta-langage: directement inspiré de ruby. Par exemple, le projet Phoenix fait un grand usage des DSL qui permettent d'exprimer très simplement des pipelines de traitement de requêtes web, des requêtes en base de données, etc.
- robustesse (unique, à ma connaissance): les applications sont écrites comme un "système" de services supervisés, avec des politiques de supervision configurables. Ceci permet d'isoler les services les uns des autres.
- une machine virtuelle vraiment adaptée au parallélisme: variable read-only, gestion de la mémoire et des processus ultra-efficace (vous pouvez faire aisément tourner des millions de processus sur 4 cores).
- par rapport à d'autres langages fonctionnels, les librairies de base (OTP) sont vraiment orientées vers la production en incluant : supervision de processus, gestion de configuration, services réseau (SSH, FTP, DNS, SNMP), debugger (graphique), gestion de release, etc
"Liberté, Sécurité et Responsabilité sont les trois pointes d'un impossible triangle" Isabelle Autissier
[^] # Re: Première fois que je vois le langage
Posté par Jean Parpaillon . En réponse à la dépêche Elixir, Phoenix et Membrane. Évalué à 3.
La plupart des fonctionnalités du langage se retrouvent dans d'autres langages, mais éparpillées.
Par exemple:
- langage compilé: assez rare dans les langages "haut niveau" (js, ruby, python...)
- méta-langage: directement inspiré de ruby. Par exemple, le projet Phoenix fait un grand usage des DSL qui permettent d'exprimer très simplement des pipelines de traitement de requêtes web, des requêtes en base de données, etc.
- robustesse (unique, à ma connaissance): les applications sont écrites comme un "système" de services supervisés, avec des politiques de supervision configurables. Ceci permet d'isoler les services les uns des autres.
- une machine virtuelle vraiment adaptée au parallélisme: variable read-only, gestion de la mémoire et des processus ultra-efficace (vous pouvez faire aisément tourner des millions de processus sur 4 cores).
- par rapport à d'autres langages fonctionnels, les librairies de base (OTP) sont vraiment orientées vers la production en incluant : supervision de processus, gestion de configuration, services réseau (SSH, FTP, DNS, SNMP), debugger (graphique), gestion de release, etc
"Liberté, Sécurité et Responsabilité sont les trois pointes d'un impossible triangle" Isabelle Autissier