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

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

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

Популярность Erlang начала расти в связи с расширением его области применения (телекоммуникационные системы) на высоконагруженные параллельные распределённые системы, обслуживающие миллионы пользователей WWW, такие как чаты, системы управления содержимым, веб-серверы и распределённые, требующие масштабирования базы данных. Erlang применяется в нескольких NoSQL-базах данных высокой доступности.
Q193076
функциональный язык программирования
Concept
Q106650558
сильной
UNK
Q1958737
динамической типизацией
UNK
Q180634
распределённых вычислительных систем
Concept
Q52618
Ericsson
ORG
Q1859284
обмен асинхронными сообщениями
Concept
Q344524
моделью акторов
UNK
Q3140932
отказоустойчивых
Concept
Q347066
системах реального времени
UNK
Q188860
библиотека
Concept
Q7096253
фреймворк OTP
MISC
Q40056
Программа
Concept
Q4462013
транслируется
Concept
Q837330
байт-код
Concept
Q192726
виртуальными машинами
Concept
Q180634
распределённой
Concept
Q1301371
вычислительной сети
Concept
Q1152399
синтаксис
Concept
Q275603
логического программирования
Concept
Q163468
Пролог
Concept
Q1503724
сопоставление с образцом
Concept
Q567612
анонимные функции
Concept
Q1474542
функции высшего порядка
Concept
None
рекурсивные определения функций
UNK
Q1340959
хвостовой рекурсии
Concept
Q418
телекоммуникационные системы
Concept
Q466
WWW
Concept
Q287198
чаты
Concept
Q45211
системы управления содержимым
MEDIA
Q11288
веб-сервер
Concept
Q176165
базы данных
Concept
Q82231
NoSQL
MISC
Q1622420
высокой доступности
Concept
Q334879
Erlang
MEDIA
Q334879
Erlang
MEDIA
Q334879
Erlang
MEDIA
Q334879
Erlang
MEDIA
Q334879
Erlang
MEDIA
Q334879
Erlang
MEDIA
Q334879
Erlang
MEDIA
programming paradigm
developer
programming language