След година разработка, се състоя освобождаването на функционалния език за програмиране Erlang 25, насочен към разработването на разпределени устойчиви приложения, осигуряващи паралелна обработка на заявки в реално време. Езикът спечели популярност в области като телекомуникации, банкови системи, електронна търговия, компютърна телефония и организиране на мигновени съобщения. В същото време е издадено изданието OTP 25 (Open Telecom Platform) — придружаващ набор от библиотеки и компоненти за разработката на разпределени системи на езика Erlang.
Основни нововъведения:
- Реализирана е нова конструкция „maybe … end“ за групиране на няколко израза в един блок, подобна на „begin … end“, но която не води до експортиране на променливи от блока.
- Добавена е поддръжка за селективно активиране на възможности, позволяваща тестване и постепенно внедряване на нови и потенциално несъвместими възможности на езика и runtime без да нарушава работата на съществуващия код. Възможностите могат да се включват и изключват както по време на компилация, така и с директивата feature() в файловете с код. Например, за включване на новото израз maybe в кода може да се посочи „feature(maybe_expr,enable)“.
- В JIT-компилатора са реализирани оптимизации, основани на информация за типовете данни, и е добавена поддръжка за 64-битови ARM процесори (AArch64). Подобрена е поддръжката на инструментите perf и gdb, за които е осигурен трансфер на информация за номера на редовете в кода.
- Добавен е нов модул peer с функции за стартиране на свързани възли на Erlang. След загуба на управляващата връзка с възела, работата на възела автоматично прекратява.
- Добавена е поддръжка за OpenSSL 3.0.
- В модула maps са добавени функциите groups_from_list/2 и groups_from_list/3 за групиране на списък от елементи.
- В модула lists са добавени функциите uniq/1, uniq/2, enumerate/1 и enumerate/2 за филтриране на дублиращи се елементи в списъка и генериране на списък от кортежи с номера на елементите.
- В модула rand е реализиран нов много бърз генератор на псевдослучайни числа.
Източник: opennet.ru
