Erlang/OTP 25 Veröffentlichung

Nach einem Jahr Entwicklung wurde die Veröffentlichung der funktionalen Programmiersprache Erlang 25 angekündigt, die für die Entwicklung von verteilten ausfallsicheren Anwendungen ausgelegt ist, die eine parallele Verarbeitung von Anfragen in Echtzeit ermöglichen. Die Sprache findet Anwendung in Bereichen wie Telekommunikation, Banksystemen, E-Commerce, Computertelefonie und bei der Organisation von Instant Messaging. Gleichzeitig wurde die Version OTP 25 (Open Telecom Platform) veröffentlicht – eine begleitende Sammlung von Bibliotheken und Komponenten zum Entwickeln verteilter Systeme in Erlang.

Hauptneuheiten:

  • Eine neue Konstruktion "maybe ... end" wurde implementiert, um mehrere Ausdrücke in einem Block zu gruppieren, ähnlich wie "begin ... end", jedoch ohne Variablen aus dem Block zu exportieren.
  • Unterstützung für die selektive Aktivierung von Funktionen wurde hinzugefügt, die es ermöglicht, neue und potenziell inkompatible Funktionen der Sprache und Runtime zu testen und schrittweise einzuführen, ohne bestehende Codes zu beeinträchtigen. Funktionen können sowohl zur Compile-Zeit als auch mittels der Direktive feature() in den Code-Dateien ein- und ausgeschaltet werden. Zum Beispiel kann zur Aktivierung des neuen Ausdrucks maybe im Code "feature(maybe_expr,enable)" angegeben werden.
  • Im JIT-Compiler wurden Optimierungen basierend auf Informationen über Datentypen implementiert und Unterstützung für 64-Bit ARM-Prozessoren (AArch64) hinzugefügt. Die Unterstützung für die Tools perf und gdb wurde verbessert, wobei jetzt Informationen über Zeilennummern im Code übermittelt werden.
  • Ein neues Modul peer mit Funktionen zum Starten verbundener Erlang-Knoten wurde hinzugefügt. Nach dem Verlust der Steuerverbindung zu einem Knoten wird die Arbeit des Knotens automatisch beendet.
  • Unterstützung für OpenSSL 3.0 wurde hinzugefügt.
  • Im Modul maps wurden die Funktionen groups_from_list/2 und groups_from_list/3 zur Gruppierung von Listen von Elementen hinzugefügt.
  • Im Modul lists wurden die Funktionen uniq/1, uniq/2, enumerate/1 und enumerate/2 zur Filterung von doppelten Elementen in einer Liste und zur Generierung einer Liste von Tupeln mit den Indizes der Elemente hinzugefügt.
  • Im Modul rand wurde ein neuer sehr schneller Generator für pseudozufällige Zahlen implementiert.

Quelle: opennet.ru

60GB SSD 8Gb DDR4