Ruby 3.4 улучшает YJIT
Выпущена версия Ruby 3.4. В этой версии по умолчанию используется парсер Prism, добавлена ссылка на параметр блока «it» и добавлена поддержка Happy Eyeballs Version 2 в библиотеку сокетов.

Вышла версия Gleam 1.7 с более быстрым обновлением записей и более безопасной обработкой учетных данных менеджера пакетов. Gleam - это статистически типизированный язык, скомпилированный в Erlang или JavaScript.
Gleam был впервые выпущен в 2019 году как дружественный язык для создания безопасных с точки зрения типов систем, которые масштабируются. Он статически типизирован и имеет собственную типобезопасную реализацию OTP, фреймворка акторов Erlang. Пользователи Gleam говорят, что он обеспечивает простоту Erlang с преимуществами статической типизации и функциональности.
Главный разработчик Gleam, Луис Пилфолд, говорит, что Gleam использует уроки, извлеченные из ML, для улучшения BEAM (виртуальной машины Erlang), но не является настоящим языком ML. Это означает, что Gleam обеспечивает простое взаимодействие в обоих направлениях, не имеет автоколебаний или системы эффектов, но имеет систему модулей в стиле Erlang.
Все структуры данных в Gleam неизменяемы и реализованы с использованием структурного разделения, поэтому их можно эффективно обновлять. Если вашему приложению необходимо хранить некоторое изменяемое состояние, то его можно хранить с помощью актора (который неизменяемо оборачивает изменяемое состояние с помощью рекурсии) или использовать ETS, базу данных ключей-значений Erlang in-memory.
Способность Gleam компилироваться в JavaScript означает, что код можно запускать в браузере, и он имеет значительно более мощную систему типов, чем Go.
Первое улучшение в Gleam 1.7 - более быстрое обновление записей. Хотя Gleam - это язык с неизменяемыми данными, в нем есть синтаксис для создания новой записи из старой с некоторыми обновленными полями. До сих пор он использовал технику, похожую на обновление JavaScript, копируя только ссылки на поля, а не сами данные, и используя небольшое количество динамического кода во время выполнения для создания новой записи с новыми полями. Теперь компилятор вместо этого мономорфирует обновления записей, то есть генерирует наиболее эффективный код для создания новой записи в каждом конкретном случае, полностью удаляя условную логику во время выполнения и связанные с ней затраты.
В этом выпуске также добавлена более безопасная обработка учетных данных менеджера пакетов. Gleam использует менеджер пакетов Erlang Hex, что означает, что разработчикам необходимо предоставить свои учетные данные Hex, чтобы опубликовать пакет в Hex. Новая версия запрашивает ваши учетные данные Hex только один раз и использует их для создания долгоживущего API-токена, который будет храниться в вашей файловой системе и шифроваться с помощью локального пароля по вашему выбору. При всех последующих взаимодействиях с Hex Gleam будет запрашивать локальный пароль, использовать его для расшифровки API-ключа, а затем использовать его для аутентификации в API Hex.
Еще одно улучшение - проверка пространства имен пакетов. Поскольку виртуальная машина Erlang имеет единое пространство имен для модулей, если два пакета определяют модули с одним и тем же именем, это может привести к сбою сборки. Теперь Gleam проверяет загрязнение пространства имен верхнего уровня. Также по аналогичной причине добавлена проверка имен пакетов основной команды.
Среди других улучшений - новое действие генерации кода декодера, обесценивание вариантов, а также оптимизация оценки и нарезки битовых массивов JavaScript во время компиляции.
Gleam 1.7 доступен уже сейчас.
Выпущена версия Ruby 3.4. В этой версии по умолчанию используется парсер Prism, добавлена ссылка на параметр блока «it» и добавлена поддержка Happy Eyeballs Version 2 в библиотеку сокетов.
Эта новость была долгожданной, и, поскольку Python уже в шестой раз получает эту награду, она, возможно, даже вызывает зевоту. Однако вы ошибаетесь, если считаете Python скучным. Если углубиться в него, можно открыть для себя много нового.