Gleam 1.0: Статически типизированный функциональный язык на Erlang VM достиг v1.0

Gleam, функциональный язык с акторной моделью, работающий на виртуальной машине Erlang (BEAM), достиг версии 1.0. Это означает, что теперь он готов к использованию в производственных системах с гарантией обратной совместимости на основе семантического версионирования.

Gleam стремится быть языком с небольшой областью применения, легким для чтения и понимания, а также выразительным.

Преимущества Gleam:

  • Надежная виртуальная машина: Gleam работает на виртуальной машине Erlang — зрелой и проверенной платформе, на которой работают многие из самых надежных и масштабируемых систем мира, такие как WhatsApp. Gleam также может работать в средах выполнения JavaScript, что позволяет запускать код Gleam в браузере, на мобильных устройствах или в любом другом месте.
  • Статическая типизация и надежность: Gleam следует примеру строго типизированных языков, таких как Elm, OCaml и Rust, обеспечивая надежный статический анализ и гарантии во время компиляции. Он также использует неизменяемые структуры данных, реализованные с помощью структурного разделения, как в Clojure, для обеспечения эффективной работы.
  • Конкурентность и безопасность: Доступ к изменяемому состоянию одновременно осуществляется через акторов или базу данных ключей-значений в памяти Erlang (ETS).
  • Масштабируемость: По словам команды разработчиков ядра языка, система параллелизма Gleam может одновременно выполнять миллионы задач и легко масштабируется благодаря неизменяемым данным и сборщику мусора, который никогда не останавливает работу всей системы.
  • Взаимодействие с другими языками: Программы Gleam могут использовать пакеты, созданные для BEAM, независимо от языка, на котором они написаны. Кроме того, в программе Gleam можно смешивать код Erlang и Elixir. Это возможно благодаря тому, что инструмент сборки Gleam может компилировать зависимости Elixir, а также исходные файлы Elixir и поддерживает специальный синтаксис, позволяющий импортировать внешние функции для их вызова из кода Gleam. Gleam также поддерживает бесшовную интеграцию с кодом JavaScript при компиляции для среды выполнения JavaScript.
  • Горячая перезагрузка кода: Gleam может использовать горячую перезагрузку кода Erlang, но без каких-либо дополнительных гарантий, кроме тех, которые предоставляет сам Erlang. В частности, обновленный код не может быть проверен на типы, поскольку невозможно узнать, какие типы используются в запущенном коде.

Конкуренция на BEAM VM:

На виртуальной машине Erlang у Gleam есть несколько конкурентов, включая Alpaca, Caramel и Elixir. Alpaca и Caramel — это статически типизированные языки, которые отличаются от Gleam по ряду параметров. В частности, Caramel основан на OCaml и даже форкает компилятор OCaml для генерации кода, в то время как Gleam и Alpaca — оригинальные языки. Gleam — единственный из них, который также ориентирован на JavaScript. С другой стороны, Elixir, безусловно, является самой зрелой и популярной альтернативой Erlang на BEAM, предлагая синтаксис, похожий на Ruby, и динамическую систему типов.

Читайте также
Ретроспектива Vue 3
Ретроспектива Vue 3
Ретроспектива Vue 3

В этом тексте вспомним, что было выходило нового во Vue 3 при минорных обновлениях.

Фреймворк Vue ускорил анализ шаблонов и повысил реактивность
Фреймворк Vue ускорил анализ шаблонов и повысил реактивность
Фреймворк Vue ускорил анализ шаблонов и повысил реактивность

Обновление фронтенд-фреймворка на JavaScript включает в себя более быстрый, переписанный парсер шаблонов и переработанную систему реактивности. Она повышает точность срабатывания эффектов.

NumPy 2.0: Новая Эра для Фундаментальной Математической Библиотеки Python
NumPy 2.0: Новая Эра для Фундаментальной Математической Библиотеки Python
NumPy 2.0: Новая Эра для Фундаментальной Математической Библиотеки Python

С релизом NumPy 2.0, первой значимой новой версии с 2006 года, мир Python получает не только улучшенную производительность, но и множество новых функций. NumPy, являясь краеугольным камнем научных и числовых вычислений на Python, продолжает расширять свои возможности и упрощать работу для разработчиков и исследователей.

Copilot Enterprise представляет поиск и лучшие настраиваемые практики
Copilot Enterprise представляет поиск и лучшие настраиваемые практики
Copilot Enterprise представляет поиск и лучшие настраиваемые практики

По словам вице-президента GitHub, Copilot Enterprise открывает новые возможности в кодовом помощнике и знаменует собой эру трансформации ИИ.