Elixir (мова програмування)
Elixir — функційна мова програмування загального призначення з сильною (strongly typed) динамічною типізацією. Програма транслюється у байт-код, який виконується на віртуальній машині Erlang (BEAM). Крім того, Elixir має сумісність з бібліотеками Erlang та фреймворком Erlang/OTP.
Elixir | |
---|---|
Парадигма | мультипарадигмальна: паралельна, функціональна |
Дата появи | 2012 |
Розробник | José Valim |
Останній реліз | 1.13.2 (13 січня, 2022[1]) |
Система типізації | динамічна типізація, сильна типізація |
Під впливом від | Erlang, Clojure, Ruby |
Операційна система | Багато-платформова |
Ліцензія | Apache 2.0 |
Звичайні розширення файлів |
.ex, .exs |
Репозиторій вихідного коду | github.com/elixir-lang/elixir |
Вебсайт | elixir-lang.org |
Elixir у Вікісховищі |
Історія
Elixir був створений Хосе Валімом, який раніше займався розробкою фреймворка Ruby on Rails. Основною метою було зберегти всі можливості Erlang, але спростити синтаксис мови та інструменти створення проектів.
Призначення
Мова орієнтована на розробку надійних систем які забезпечують паралельну обробку запитів та невибагливі до апаратних ресурсів у порівнянні з подібними системами написаними на інших мовах програмування. Код програми виконується в легких потоках (не плутати з процесами, які виділяються операційною системою для програми). Потоки ізольовані і не мають спільного стану. Передача інформації іншим потокам можлива тільки через синхронний або асинхронний обмін повідомленнями.
Головним інструментом для створення проектів, компіляції, керування залежностями є утиліта під назвою Mix.
Метапрограмування
Elixir має систему для метапрограмування, на яку суттєво вплинула Clojure.[2]
Примітки
- Releases - elixir-lang/elixir. Процитовано 1 липня 2021 — через GitHub.
- Artur Plysyuk (28 жовтня 2020). Elixir — мова для роботи з I/O. Синтаксис, документація та спільнота. dou.ua (укр.). DOU.ua. Процитовано 10 грудня 2020.
Посилання
- Офіційний сайт Elixir (англ.)
- Офіційний форум мови програмування Elixir
- Slack мови програмування Elixir