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

Читайте также
Microsoft: язык сценариев VBScript устарел
Microsoft: язык сценариев VBScript устарел
Microsoft: язык сценариев VBScript устарел

Microsoft предупреждает, что через некоторое время VBScript будет полностью удалён из новых версий Windows. Сейчас компания оставляет язык, как опцию, чтобы у разработчиков было время для миграции своих систем.

SortableJS переносит списки с перетаскиванием в Microsoft Blazor
SortableJS переносит списки с перетаскиванием в Microsoft Blazor
SortableJS переносит списки с перетаскиванием в Microsoft Blazor

Разработчики преобразовали SortableJS, инструмент JavaScript для создания списков с возможностью перетаскивания, в компонент Blazor для разработки веб-приложений Microsoft, переименовав его в Blazor Sortable.

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 […]

Deno 1.40: будущий Temporal API и декораторы JavaScript
Deno 1.40: будущий Temporal API и декораторы JavaScript
Deno 1.40: будущий Temporal API и декораторы JavaScript

В Deno 1.40 реализовали предстоящий Temporal API JavaScript для расширенных операций с датой и временем, а также новейшее предложение декораторов JavaScript для мета- и аспектно-ориентированного программирования.