Cette question se situe dans le contexte de la machine virtuelle Beam et des fonctionnalités qu’elle fournit, et non dans le contexte général de ce que peut faire un langage complet Turing. Je veux investir du temps pour apprendre soit Erlang pur ou Elixir. J’obtiens les différences de base entre les deux et je me penche vers Elixir en raison des macros, d’une meilleure syntaxe et d’un développement plus rapide du langage.
Ma question est la suivante: si je choisis Elixir, vais-je trébucher sur quelque chose que je ne peux pas y faire, mais que je peux faire à Erlang? Puis-je utiliser tous les éléments OTP, toutes les bibliothèques Erlang, le rechargement de code, etc. avec Elixir?
Je ne demande pas la préférence de quelqu’un entre les deux; juste des faits sur les possibilités des langues. De préférence de quelqu’un qui a utilisé les deux en production.
Juste en guise de préface – je n’ai utilisé qu’Elixir en production et non Erlang.
Je recommanderais honnêtement Elixir. Ceci est mon opinion et pas nécessairement la bonne pour vous, mais ci-dessous je vais énumérer mes raisons.
Vraiment, si vous avez un problème avec les deux, vous allez probablement prendre la même décision qu’Elixir est un langage beaucoup plus agréable avec toutes les fonctionnalités d’Erlang + More. Cela augmente également, je ne me souviens pas des chiffres exacts, mais je me souviens d’avoir lu quelque chose sur le site Web de Hex (gestionnaire de paquets) à propos d’une augmentation considérable du nombre de téléchargements de paquets.
Vous ne devriez pas tomber sur quelque chose que vous pouvez faire dans une que vous ne pouvez pas utiliser dans l’autre, car vous pouvez appeler librement le code Elixir depuis Erlang et vice-versa. Vous pouvez même mélanger facilement des fichiers Erlang et Elixir dans un projet.
Dans Elixir:
:erlang_module.erlang_function(args)
à Erlang:
'Elixir.ElixirModule':elixir_function(args)
TL; DR – Commence avec Elixir
Erlang a une courbe d’apprentissage plus forte que celle d’Elixir. Une fois que vous aurez commencé à apprendre Elixir, vous commencerez automatiquement à apprendre Erlang. Par conséquent, commencez avec Elixir. Elixir est écrit en Erlang et Elixir. Voir la dissortingbution sur Github (puisque Elixir est plein de macros aka méta-programmation).
Vous pouvez utiliser Elixir avec Erlang et vice-versa, d’où l’éco-système complet d’Erlang de plus de 20 ans de bibliothèques.
Plus de détails de Erlang Solutions
La productivité «prête à l’emploi» d’Elixir est obtenue en mettant fortement l’accent sur l’outillage et la commodité dans l’expression de la manipulation des données. La conception du système est la même chez Elixir et Erlang, mais Elixir supprime beaucoup de code standard et est plus facile à étendre. La suppression de la méthode passe-haut augmente la productivité et permet aux programmeurs d’obtenir des commentaires plus rapidement, ce qui est crucial lorsque vous souhaitez lancer votre produit sur le marché le plus rapidement possible. La simplification des procédures passe également pour les développeurs heureux, et les développeurs heureux sont des développeurs peu productifs.
Le blog de Joe Armstrong (Erlang Inventor’s) sur Elixir
Commencez ici pour en savoir plus sur Elixir – Pour commencer
Une fois que vous vous sentez bien, faites votre chemin pour vous entraîner à l’ exercice et à d’ autres ressources .