Diese Frage bezieht sich auf den Kontext der Beam-VM und die von ihr bereitgestellten Funktionen, nicht auf den allgemeinen Kontext dessen, was eine vollständige Turing-Sprache leisten kann. Ich möchte etwas Zeit investieren, um entweder reines Erlang oder Elixier zu lernen. Ich verstehe die grundlegenden Unterschiede zwischen den beiden und neige aufgrund der Makros, der besseren Syntax und der schnelleren Entwicklung der Sprache an diesem Tag zu Elixir.
Meine Frage ist: Wenn ich mich für Elixier entscheide, werde ich dann auf etwas stoßen, das ich nicht tun kann, aber in Erlang? Kann ich mit Elixir alle OTP-Inhalte, alle Erlang-Bibliotheken, das Neuladen von Code usw. verwenden?
Ich frage nicht nach der Präferenz von jemandem zwischen den beiden; nur Fakten über die Möglichkeiten der Sprachen. Am besten von jemandem, der beides in der Produktion verwendet hat.
Antworten:
Nur zum Vorwort - ich habe Elixir nur in der Produktion verwendet und nicht Erlang.
Ich würde Elixir ehrlich empfehlen. Dies ist meine Meinung und nicht unbedingt die richtige für Sie, aber im Folgenden werde ich meine Gründe dafür auflisten.
Wirklich, wenn Sie mit den beiden herumspielen, werden Sie wahrscheinlich zu der gleichen Entscheidung kommen, dass Elixir eine viel schönere Sprache mit allen Funktionen von Erlang + More ist. Es ist auch auf dem Vormarsch, ich kann mich nicht an die genauen Zahlen erinnern, aber ich erinnere mich, dass ich etwas von der Hex-Website (Paketmanager) über eine beträchtliche Zunahme der Paketdownloads gelesen habe.
quelle
Sie sollten nicht über irgendetwas stolpern, das Sie in einem tun können, was Sie in dem anderen nicht können, da Sie Elixir-Code von Erlang aus frei aufrufen können und umgekehrt. Sie können Erlang- und Elixir-Dateien sogar problemlos in einem Projekt mischen.
In Elixir:
in Erlang:
quelle
TL; DR - Beginnen Sie mit Elixir
Erlang hat im Vergleich zu Elixir eine steilere Lernkurve. Sobald Sie Elixir lernen, lernen Sie automatisch Erlang. Beginnen Sie daher mit Elixir. Elixier ist in Erlang und Elixier geschrieben. Siehe Distribution auf Github (da Elixir voller Makros ist, auch bekannt als Meta-Programmierung).
Sie können Elixir mit Erlang verwenden und umgekehrt, daher das vollständige Erlang-Ökosystem mit mehr als 20 Jahren Bibliotheken.
Weitere Details von Erlang Solutions
Joe Armstrongs (Erlang Erfinder) Blogpost über Elixir
Beginnen Sie hier, um mehr über Elixir - Erste Schritte zu erfahren
Wenn Sie das Gefühl haben, dass es gut läuft, arbeiten Sie daran, sich mit Bewegung und anderen Ressourcen zu beschäftigen .
quelle
Es gibt ein paar Dinge. Ich denke, Sie können in Elixir keine rekursive Anon-Funktion erstellen. Nun, um fair zu sein, das ist etwas, was ich in mehr als 8 Jahren Erlang nicht jemals tun musste, und wenn ich es getan hätte, könnte es leicht auf andere Weise getan werden. Es gibt wahrscheinlich noch ein paar andere Dinge, die Sie ganz ehrlich ignorieren können.
Im Allgemeinen können Sie für Dinge, die den meisten Menschen wichtig sind, alles, was Sie in Erlang tun können, in Elixir tun und umgekehrt. Die Community auf der Elixir-Seite scheint aktiver zu sein, daher würde ich vorschlagen, dort zu beginnen. Ich bin kürzlich von Erlang zu Elixir gewechselt und mit Ausnahme einiger ausgefallener Dinge in Proper kann ich sagen, dass es ein ziemlich einfacher Übergang ist
quelle