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, и динамическую систему типов.

Читайте также
Google возьмет всю базу Stack Overflow для своего Gemini
Google возьмет всю базу Stack Overflow для своего Gemini
Google возьмет всю базу Stack Overflow для своего Gemini

Крупная база для разработчиков Stack Overflow запускает для ИИ доступ к своей всей базе через АПИ (OverflowAPI). И главным партнером становится Google, который будет использовать данные Stack Overflow для обучения Gemini. А Google поможет реализовать Stack Overflow мощные функции для проекта OverflowAI, который уже развивается. Обе компании планируют просмотр этих интеграций на конференции Google Cloud […]

Google выпустила расширение для Chrome JSON Editor 1.0
Google выпустила расширение для Chrome JSON Editor 1.0
Google выпустила расширение для Chrome JSON Editor 1.0

Оно позволяет оптимизировать управление данными JSON, упростить процесс редактирования, визуализации и проверки файлов прямо в браузере.

Опубликовали релиз OpenSSH 9.5
Опубликовали релиз OpenSSH 9.5
Опубликовали релиз OpenSSH 9.5

OpenSSH — это 100% реализация протокола SSH 2.0. которая включает поддержку sftp-клиента и сервера.

Что ждать от jQuery v4
Что ждать от jQuery v4
Что ждать от jQuery v4

В феврале команда jQuery предоставила бета-версию новой библиотеки jQuery 4.0.0.Это является тестовым релизом, но в ближайшее время ожидается стабильная версия. Это версия добавляет значительные изменения с целью оптимизации и для соответствия современным стандартам веб-разработки. И посмотрим ключевые моменты которые пришли с этим релизом: