Cette question est dans le contexte de la machine virtuelle Beam et des capacités qu'elle offre, et non pas dans le contexte général de ce qu'un langage complet de Turing peut faire. Je veux investir du temps pour apprendre soit le pur Erlang, soit l'Elixir. Je comprends les différences fondamentales entre les deux et je penche plutôt vers l'Elixir en raison des macros, de la meilleure syntaxe et du développement plus rapide de ce langage ces jours-ci.
Ma question est la suivante : si je choisis l'Elixir, vais-je rencontrer quelque chose que je ne pourrais pas faire avec, mais que je pourrais faire avec Erlang ? Puis-je utiliser toutes les fonctionnalités 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 langages. De préférence venant de quelqu'un qui a utilisé les deux en production.
0 votes
Vous pouvez faire tout ce que vous pouvez faire avec Erlang avec Elixir, mais il y a beaucoup de variables qui peuvent orienter votre choix vers l'un ou l'autre et ces variables ne sont connues que de vous.
20 votes
@hedgehog pas une opinion, c'est un fait. La question est "Ma question est si je choisis Elixir, vais-je tomber sur quelque chose que je ne peux pas faire, mais que je peux faire en Erlang? Puis-je utiliser tout le matériel OTP, toutes les bibliothèques Erlang, le rechargement de code, etc. avec Elixir?" et la réponse est basée sur des faits, pas une opinion.
4 votes
Pour cette question, la réponse est : tout ce que vous pouvez faire en Erlang est possible en Elixir. Mais le titre suggère que la question est de savoir dans quoi vous devriez investir et ici la réponse est "cela dépend". Que voulez-vous faire ? Pour les applications web, Elixir est bien meilleur car il a été créé pour résoudre ce problème. Pour certains types de systèmes distribués, vous pouvez trouver la simplicité de l'Erlang supérieure. Le manque de fonctionnalités est souvent une bonne chose. Apprendre seulement l'Erlang vous aidera à vous concentrer sur l'élément le plus important : OTP.
2 votes
@SašaŠijak J'ai changé le titre de la question, à mon avis pour mieux refléter de quoi il s'agit - reprenez si vous n'êtes pas d'accord.
2 votes
@PaweObrok super édition, cela résume parfaitement ce que je voulais savoir
0 votes
Je ne connais pas Erlang ou Elixir, mais je sais que la réponse à toute question qui ressemble à celle-ci est "équivalence de Turing". Tout langage de programmation suffisamment puissant pour répondre à certaines normes (très minimales), suffisamment puissant pour être un langage de programmation généraliste, est suffisamment puissant pour faire tout ce que tout autre langage de programmation généraliste peut faire. Cela ne signifie pas nécessairement qu'ils peuvent tous faire tout aussi facilement que les uns que les autres, juste qu'ils peuvent tous faire toutes les mêmes choses, d'une manière ou d'une autre.
3 votes
À chaque fois que je pose ce genre de questions, je reçois -10 votes négatifs