Erlang

Бесплатно
Открытый исходный код
Windows
macOS
Linux

Сайт: www.erlang.org

Erlang — это функциональный язык программирования и среда выполнения, разработанные для создания распределённых, отказоустойчивых и масштабируемых систем с требованиями высокой доступности. Язык был спроектирован с упором на лёгкость параллельного программирования, встроенные средства обработки ошибок и горячую замену кода в работающих системах. Среда выполнения включает виртуальную машину, библиотеку стандартных модулей и набор инструментов для разработки и управления распределёнными приложениями.

Основные концепции Erlang включают акторную модель процессов с лёгковесными изолированными процессами, обмен сообщениями без общего состояния, супервизорную иерархию для автоматического восстановления при сбоях и прозрачную поддержку распределённости. Благодаря этим особенностям Erlang часто используется в телекоммуникациях, системах обмена сообщениями, базах данных в реальном времени и других областях, где критичны отказоустойчивость и непрерывная работа.

  • Параллелизм и процессы: лёгковесные изолированные процессы с асинхронной передачей сообщений.
  • Отказоустойчивость: модель "let it crash" и супервизоры для автоматического восстановления компонентов.
  • Горячая замена кода: возможность обновления кода в работающей системе без остановки сервиса.
  • Распределённость: встроенные механизмы для связи между нодами и построения кластеров.
  • Функциональный стиль: иммутабельность данных, сопоставление с образцом и первое‑классные функции.
  • Стандартная библиотека и OTP: набор готовых к использованию абстракций и поведения (ген_*), реализующих серверы, состояния и супервизоры.
  • Производительность и надежность в сети: оптимизации для многопроцессорных систем и устойчивость к сетевым отказам.
  • Инструменты наблюдаемости: средства логирования, трассировки и диагностики для эксплуатации крупных систем.
Подробнее