Version Erlang/OTP 25

Après un an de développement, le langage de programmation fonctionnel Erlang 25 est sorti, visant à développer des applications distribuées et tolérantes aux pannes qui permettent un traitement parallèle des requêtes en temps réel. Le langage s'est répandu dans des domaines tels que les télécommunications, les systèmes bancaires, le commerce électronique, la téléphonie informatique et la messagerie instantanée. Dans le même temps, la version OTP 25 (Open Telecom Platform) a été publiée - un ensemble complémentaire de bibliothèques et de composants pour le développement de systèmes distribués en langage Erlang.

Principales nouveautés :

  • Une nouvelle construction « peut-être... fin » a été implémentée pour regrouper plusieurs expressions dans un seul bloc, similaire à « début... fin », mais ne conduit pas à l'export des variables du bloc.
  • Ajout de la prise en charge de l'activation sélective des fonctionnalités, vous permettant de tester et d'introduire progressivement de nouvelles fonctionnalités de langage et d'exécution susceptibles de rompre l'interopérabilité sans casser le code existant. Les fonctionnalités peuvent être activées et désactivées à la fois au moment de la compilation et à l'aide de la directive feature() dans les fichiers de code. Par exemple, pour activer une nouvelle expression peut-être dans votre code, vous pouvez spécifier « feature(maybe_expr,enable) ».
  • Le compilateur JIT implémente des optimisations basées sur les informations de type de données et ajoute la prise en charge des processeurs ARM 64 bits (AArch64). Prise en charge améliorée des utilitaires perf et gdb, qui fournissent des informations sur les numéros de ligne dans le code.
  • Ajout d'un nouveau module homologue avec des fonctions pour exécuter les nœuds Erlang associés. Une fois la connexion de contrôle au nœud perdue, le nœud s'arrêtera automatiquement.
  • Ajout de la prise en charge d'OpenSSL 3.0.
  • Les fonctions groups_from_list/2 et groups_from_list/3 ont été ajoutées au module maps pour regrouper une liste d'éléments.
  • Les fonctions uniq/1, uniq/2, enumerate/1 et enumerate/2 ont été ajoutées au module de listes pour filtrer les éléments en double dans la liste et générer une liste de tuples avec les numéros d'éléments.
  • Le module Rand implémente un nouveau générateur de nombres pseudo-aléatoires très rapide.

Source: opennet.ru

Ajouter un commentaire