Essa questão está no contexto do Beam VM e nos recursos que ele fornece, não no contexto geral do que uma linguagem completa de Turing pode fazer. Quero investir algum tempo para aprender Erlang ou Elixir puro. Eu entendi as diferenças básicas entre os dois e estou inclinado para o Elixir por causa das macros, melhor sintaxe e desenvolvimento mais rápido da linguagem hoje.
Minha pergunta é: se eu escolher Elixir, vou tropeçar em algo que não posso fazer nele, mas posso fazer em Erlang? Posso usar todo o material OTP, todas as bibliotecas Erlang, recarga de código, etc. com Elixir?
Não estou pedindo a preferência de alguém entre os dois; apenas fatos sobre as possibilidades das línguas. De preferência de alguém que usou os dois na produção.
Respostas:
Apenas para prefaciar - usei apenas Elixir na produção, não Erlang.
Eu honestamente recomendaria Elixir. Esta é a minha opinião e não necessariamente a certa para você, mas abaixo listarei meus motivos.
Na verdade, se você confundir os dois, provavelmente chegará à mesma decisão de que Elixir é uma linguagem muito melhor, com todos os recursos do Erlang + More. Também está aumentando, não me lembro dos números exatos, mas me lembro de ter lido algo no site da Hex (gerenciador de pacotes) sobre um aumento considerável nos downloads de pacotes.
fonte
Você não deve tropeçar em nada que possa fazer em um que não possa no outro, já que pode chamar livremente o código Elixir de Erlang e vice-versa. Você pode até mesmo misturar facilmente arquivos Erlang e Elixir em um projeto.
No Elixir:
em Erlang:
fonte
TL; DR - Comece com Elixir
Erlang tem uma curva de aprendizado mais íngreme em comparação com Elixir. Depois de começar a aprender Elixir, você começará a aprender Erlang automaticamente. Portanto, comece com Elixir. Elixir é escrito em Erlang e Elixir. Veja a distribuição no Github (já que o Elixir está cheio de macros, também conhecidas como meta-programação).
Você pode usar o Elixir com Erlang e vice-versa, daí o ecossistema Erlang completo de mais de 20 anos de bibliotecas.
Mais detalhes da Erlang Solutions
Joe Armstrong (inventor de Erlang)Postagem no blog de sobre Elixir
Comece aqui para aprender sobre Elixir - Primeiros passos
Quando sentir que está indo bem, comece a praticar exercícios e outros recursos .
fonte
Existem algumas coisas. Acho que você não pode fazer uma função anon recursiva no Elixir. Agora, para ser justo, isso é algo que em mais de 8 anos de Erlang eu não acho que precisei fazer, e se eu fizesse, poderia ser feito facilmente de alguma outra maneira. Provavelmente, existem algumas outras coisas como essa que, honestamente, você pode ignorar.
Em geral, para coisas que a maioria das pessoas se preocupa com qualquer coisa que você possa fazer em Erlang, você pode fazer em Elixir e vice-versa. A comunidade do lado do Elixir parece ser mais ativa, então eu sugiro começar por aí. Mudei recentemente de Erlang para Elixir e com exceção de algumas coisas extravagantes em Proper, posso dizer que é uma transição muito fácil
fonte