Erlang
З Вікіпедії, безкоштовно encyclopedia
Erlang (Ерла́нґ /ˈɜːrlæŋ/ UR-lang) — мова функційного програмування з динамічною типізацією, призначена для розробки програм для різного роду розподілених і багатониткових систем. Розроблена і підтримується компанією Ericsson. Мова містить в собі засоби породження паралельних процесів та їхньої взаємодії за допомогою посилання асинхронних повідомлень, без використання блокувань.
Erlang | |
---|---|
Парадигма | мультипарадигмальна: паралельна, функціональна |
Дата появи | 1987 |
Творці | Джо Армстронг (програміст) |
Розробник | Ericsson |
Останній реліз | 25 (18 червня, 2022; 22 місяці тому (2022-06-18)) |
Система типізації | динамічна типізація,[[сильна типізація]] |
Під впливом від | Prolog, SmallTalk Lisp, PLEX |
Вплинула на | F#, Clojure, Rust, Scala, Opa, Reia,Akka, Dart, Elixir, Oz,Go |
Мова реалізації | Erlang[1] |
Операційна система | Багатоплатформова |
Ліцензія | Apache 2.0 |
Звичайні розширення файлів |
.erl, .hrl |
Репозиторій вихідного коду | github.com/erlang/otp |
Вебсайт | www.erlang.org |
Мова орієнтована на розробку розподілених відмовостійких застосунків, які забезпечують паралельну обробку запитів в режимі реального часу. Мова набула поширення в таких областях, як телекомунікації, банківські системи, електронна комерція, комп'ютерна телефонія і організація миттєвого обміну повідомленнями.
Програма транслюється в байт-код, який виконується віртуальною машиною, що забезпечує переносність. Одночасно розробниками випускається OTP (Open Telecom Platform) — супутній набір бібліотек і компонентів для розробки розподілених систем на мові Erlang. Код проєкту поширюється під модифікованою вільною ліцензією MPL.
Свій синтаксис і деякі концепції, мова Erlang успадкувала від мови логічного програмування Пролог. Мова підтримує зіставляння зі взірцем, обробку виключень, спискові та бінарні генератори, анонімні функції, функції вищого порядку, обмін повідомленнями між процесами. Препроцесор підтримує роботу з макросами і включення заголовкових файлів.
Популярність мови Erlang зросла у зв'язку з розширенням області використання (телекомунікаційні системи) на паралельні розподілені системи з високим навантаженням, які обслуговують мільйони користувачів WWW, такі як чати, системи керування веб-контентом, веб-сервери і розподілені бази даних, що вимагають масштабування. Erlang використовуються в деяких NoSQL-базах даних високої доступності[2].