Pertanyaan ini ada dalam konteks Beam VM dan kapabilitas yang disediakannya, bukan dalam konteks umum tentang apa yang dapat dilakukan oleh bahasa lengkap Turing. Saya ingin menginvestasikan waktu untuk mempelajari Erlang murni atau Elixir. Saya mendapatkan perbedaan mendasar antara keduanya dan saya condong ke Elixir karena makro, sintaks yang lebih baik, dan pengembangan bahasa yang lebih cepat hari ini.
Pertanyaan saya adalah: jika saya memilih Elixir, apakah saya akan tersandung pada sesuatu yang tidak dapat saya lakukan di dalamnya, tetapi dapat dilakukan di Erlang? Dapatkah saya menggunakan semua OTP, semua perpustakaan Erlang, pemuatan ulang kode, dll. Dengan Elixir?
Saya tidak menanyakan preferensi seseorang di antara keduanya; hanya fakta tentang kemungkinan bahasa. Lebih disukai dari seseorang yang menggunakan keduanya dalam produksi.
Jawaban:
Sekadar pengantar - Saya hanya menggunakan Elixir dalam produksi dan bukan Erlang.
Jujur saya akan merekomendasikan Elixir. Ini adalah pendapat saya dan belum tentu tepat untuk Anda, tetapi di bawah ini saya akan mencantumkan alasan saya mengapa.
Sungguh, jika Anda memiliki masalah dengan keduanya, Anda mungkin akan sampai pada keputusan yang sama bahwa Elixir adalah bahasa yang jauh lebih baik dengan semua fitur Erlang + Lainnya. Ini sedang meningkat juga, saya tidak dapat mengingat angka pastinya tetapi saya ingat membaca sesuatu dari situs web Hex (manajer paket) tentang peningkatan yang cukup besar dalam unduhan paket.
sumber
Anda tidak boleh tersandung pada apa pun yang dapat Anda lakukan di salah satu yang tidak dapat Anda lakukan di yang lain, karena Anda dapat dengan bebas memanggil kode Elixir dari Erlang dan sebaliknya. Anda bahkan dapat dengan mudah mencampur file Erlang dan Elixir dalam satu proyek.
Dalam Elixir:
dalam bahasa Erlang:
sumber
TL; DR - Mulailah dengan Elixir
Erlang memiliki kurva belajar yang lebih curam dibandingkan dengan Elixir. Setelah Anda mulai mempelajari Elixir, Anda akan secara otomatis mulai mempelajari Erlang. Oleh karena itu, mulailah dengan Elixir. Elixir ditulis dalam Erlang dan Elixir. Lihat distribusi di Github (karena Elixir penuh dengan makro alias pemrograman meta).
Anda dapat menggunakan Elixir dengan Erlang dan sebaliknya, karenanya ekosistem Erlang penuh dengan 20+ tahun perpustakaan.
Lebih detail dari Erlang Solutions
Posting blog Joe Armstrong (penemu Erlang) tentang Elixir
Mulailah di sini untuk mempelajari tentang Elixir - Memulai
Setelah Anda merasa ini berjalan dengan baik, lanjutkan ke latihan Latihan dan sumber daya lainnya .
sumber
Ada beberapa hal. Saya pikir Anda tidak dapat membuat fungsi anon rekursif di Elixir. Sekarang untuk bersikap adil, ini adalah sesuatu yang dalam 8+ tahun Erlang saya rasa saya tidak pernah perlu melakukannya, dan jika saya melakukannya, itu dapat dilakukan dengan mudah dengan cara lain. Mungkin ada beberapa hal lain seperti itu yang sejujurnya bisa Anda abaikan.
Secara umum, untuk hal-hal yang kebanyakan orang peduli tentang apa pun yang dapat Anda Lakukan di Erlang, Anda dapat melakukannya di Elixir dan sebaliknya. Komunitas di sisi Elixir tampaknya lebih aktif jadi saya sarankan untuk memulainya dari sana. Saya baru saja pindah dari Erlang ke Elixir dan dengan pengecualian beberapa hal mewah di Proper saya dapat mengatakan bahwa ini adalah transisi yang cukup mudah
sumber