Erlang

Erlang
Изображение логотипа
Семантика мультипарадигмальный: параллельное, функциональное программирование
Класс языка мультипарадигмальный, язык параллельного программирования, язык функционального программирования, декларативный язык программирования, язык программирования, открытое программное обеспечение, свободное программное обеспечение и умение
Появился в 1986[2]
Автор Джо Армстронг
Разработчик Джо Армстронг, Ericsson и Роберт Вирдинг
Расширение файлов .erl
Выпуск
Система типов сильная, динамическая
Испытал влияние ML, Пролог, Лисп, PLEX, Smalltalk, Миранда, Ада, Модула-2 и CHILL
Лицензия Apache License 2.0[3]
Сайт erlang.org (англ.)
ОС кроссплатформенность[4]
Логотип Викисклада Медиафайлы на Викискладе

Erlang [ˈɜːlæŋ][5] — функциональный язык программирования с сильной динамической типизацией, предназначенный для создания распределённых вычислительных систем. Разработан и поддерживается компанией Ericsson. Язык включает в себя средства порождения параллельных легковесных процессов и их взаимодействия через обмен асинхронными сообщениями в соответствии с моделью акторов.

Erlang был целенаправленно разработан для применения в распределённых, отказоустойчивых, параллельных системах реального времени, для которых, кроме средств самого языка, имеется стандартная библиотека модулей и библиотека шаблонных решений (так называемых поведений) — фреймворк OTP (англ. Open Telecom Platform). Программа на Erlang транслируется в байт-код, исполняемый виртуальными машинами, находящимися на различных узлах распределённой вычислительной сети. Erlang-системы поддерживают горячую замену кода, что позволяет эксплуатировать оборудование безостановочно.

Свой синтаксис и некоторые концепции Erlang унаследовал от языка логического программирования Пролог[6]. Язык поддерживает многие типы данных, условные конструкции, сопоставление с образцом, обработку исключений, списковые включения и выражения битовых строк, функции (анонимные функции, функции высшего порядка, рекурсивные определения функций, оптимизацию хвостовой рекурсии), модули, приём и отправку сообщений между процессами. Препроцессор поддерживает работу с макросами и включение заголовочных файлов.

Популярность Erlang начала расти в связи с расширением его области применения (телекоммуникационные системы) на высоконагруженные параллельные распределённые системы, обслуживающие миллионы пользователей WWW, такие как чаты, системы управления содержимым, веб-серверы и распределённые, требующие масштабирования базы данных. Erlang применяется в нескольких NoSQL-базах данных высокой доступности[7].

  1. Release 27.1.2 — 2024.
  2. Virding R. A History of the Erlang VM
  3. Erlang/OTP 18.0 has been released
  4. https://www.erlang.org/downloads
  5. Definition of «erlang» — Collins English Dictionary. Дата обращения: 7 января 2015. Архивировано 8 апреля 2015 года.
  6. Чезарини, Томпсон, 2012, с. 42.
  7. Dan McCreary, Ann Kelly, 2013, 10.3 Examples of functional programming languages.

From Wikipedia, the free encyclopedia · View on Wikipedia

Developed by Tubidy