Weil ich mich beim ersten Anblick gefragt hatte, warum Elixir/Erlang, hatte ich recherchiert (gegooglet) und wurde wie folgt fündig:
- Joe Armstrong hat Erlang erfunden: "Während seiner Arbeit für das Ericsson Computer Science Lab entwickelte er 1986 Erlang."
- Sophie de Benedetto auf "medium" 2019 mit ihrem Artikel: Elixir and The Beam: How Concurrency Really Works
- Elixir ist eine funktionale, nebenläufige Allzweck-Programmiersprache, die auf der virtuellen Maschine von Erlang (BEAM) läuft.
- Martin Grotz in "informatik-aktuell": "In vielen gängigen Programmiersprachen ist es aber nicht so einfach, stabile und fehlerfreie Software zu schreiben, die wirklich alle zur Verfügung stehenden CPUs nutzt. Erlang und die darauf aufbauende funktionale Programmiersprache Elixir sind dagegen von Anfang an darauf ausgelegt, skalierbare, fehlertolerante Systeme zu entwickeln. Dies erleichtert die Entwicklung eines nebenläufigen Programms enorm."
- qastack zu "Was für eine virtuelle Maschine ist BEAM (die Erlang VM)?", darin: "Erlang-Prozesse werden vollständig von der Erlang-VM implementiert und haben keine Verbindung zu Betriebssystemprozessen oder Betriebssystemthreads. Selbst wenn Sie ein Erlang-System mit über einer Million Prozessen ausführen, ist es immer noch nur ein Betriebssystemprozess und ein Thread pro Kern. In diesem Sinne ist die Erlang-VM eine "virtuelle Prozessmaschine", während sich das Erlang-System selbst sehr ähnlich wie ein Betriebssystem verhält und Erlang-Prozesse sehr ähnliche Eigenschaften wie Betriebssystemprozesse haben, z. B. Isolation."
- unter den TOP 10, die Elixir/Erlang nutzen ist u.a. Discord.
- im Wesentlichen aber WhatsApp! "While Erlang is not as popular as some modern programming languages, it quietly runs applications like WhatsApp and WeChat that serve massive amounts of users every day." (Introduction to Erlang by Gints Dreimanis December 23rd, 2020)
- ElixirConf 2020 - Simon de Haan - Using Elixir and WhatsApp to launch WHO’s global COVID-19 response ist aus meiner Sicht "worth watching" [Link geht direkt in die Mitte rein].
Elixir/Erlang (BEAM) und das dazugehörige Framework Phoenix sind also dazu da, möglichst viele Prozesse unabhängig von einander möglichst gleichmäßig auf die Hardware (Prozessorkerne) zu verteilen. Bei dem aktuellen Traffic im SELF-Forum vielleicht eher "overdone" aber mit Sicherheit ein belastbarer und ausbaufähiger Ansatz. Mich würde ja für die Zukunft interessieren, wieder ein Developerteam aufzubauen und eventuell auch über die Forumssoftware hinaus im Fediverse (Stichwort ActivityPub) irgendwie mitzuwurschteln.
Thx aufn Sonntag und schön gesund bleiben,
BaB