Elixir (мова програмування)
| Elixir | |
|---|---|
| Парадигма | мультипарадигмальна: паралельна, функційна |
| Дата появи | 2012 |
| Розробник | José Valim |
| Останній реліз | 1.16.2 (10 березня, 2024[1]) |
| Система типізації | динамічна типізація, сильна типізація |
| Під впливом від | Erlang, Clojure, Ruby |
| Мова реалізації | Elixir[2] |
| Платформа | BEAMd |
| Операційна система | Багато-платформова |
| Ліцензія | Apache 2.0 |
| Звичайні розширення файлів | .ex, .exs |
| Репозиторій вихідного коду | github |
| Вебсайт | elixir-lang |
Elixir — функційна мова програмування загального призначення з сильною (strongly typed) динамічною типізацією. Програма транслюється у байт-код, який виконується на віртуальній машині Erlang (BEAM). Крім того, Elixir має сумісність з бібліотеками Erlang та фреймворком Erlang/OTP.
Elixir був створений Хосе Валімом, який раніше займався розробкою фреймворка Ruby on Rails. Основною метою було зберегти всі можливості Erlang, але спростити синтаксис мови та інструменти створення проектів.
Мова орієнтована на розробку надійних систем які забезпечують паралельну обробку запитів та невибагливі до апаратних ресурсів у порівнянні з подібними системами написаними на інших мовах програмування. Код програми виконується в легких Elixir процесах (не плутати з потоками). Beam VM створює та керує процесами Elixir. На відміну від віртуальних потоків, які можуть бути внутрішньо зіставлені з потоком ОС (операційної системи), процеси Elixir не прив'язані до жодного конкретного потоку ОС і повністю управляються внутрішньо Beam VM. Процеси ізольовані і не мають спільного стану. Передача інформації між процесами можлива тільки через синхронний або асинхронний обмін повідомленнями. Така сильна ізоляція формує основу для відмовостійкості, оскільки проблеми з одним конкретним процесом не впливають на інші запущені процеси в Beam VM. Кожен процес займає дуже малий об'єм початкової пам'яті, а отже, запуск процесу відбувається надзвичайно швидко, оскільки вони не потребують прямого втручання з боку ОС.
Головним інструментом для створення проектів, компіляції, керування залежностями є утиліта під назвою Mix.
Elixir має систему для метапрограмування, на яку суттєво вплинула Clojure.[3]
Мовою Elixir написано код центральної бази даних Електронної системи охорони здоров'я України[4][5].
- ↑ Releases - elixir-lang/elixir.
- ↑ https://github.com/EvanLi/Github-Ranking/blob/master/Data/github-ranking-2025-07-06.csv — 2025.
- ↑ Artur Plysyuk (28 жовтня 2020). Elixir — мова для роботи з I/O. Синтаксис, документація та спільнота. dou.ua (укр.). DOU.ua. Архів оригіналу за 1 листопада 2020. Процитовано 10 грудня 2020.
- ↑ Projects. Edelnab. Архів оригіналу за 5 серпня 2020. Процитовано 3 вересня 2020.
E-health: a medical information system for the Ministry of Healthcare of Ukraine, central IT component for the entire healthcare system of Ukraine. It’s one of the biggest open-source governmental projects in the world and one of the biggest open source Elixir project that is in production as well.»
«(E-health: медична інформаційна система для Міністерства охорони здоров’я України, центральний ІТ-компонент для всієї системи охорони здоров’я України. Це один з найбільших урядових проектів з відкритим кодом у світі та один з найбільших проектів з відкритим кодом Elixir, який також знаходиться у виробництві.) - ↑ Текст: Ганна Левченко (3 вересня 2020). Інформація про наявність медикаментів у лікарнях буде відкритою і оновлюватиметься в реальному часі – заступник міністра охорони здоров'я Кучер. Інтерфакс-Україна. Архів оригіналу за 4 вересня 2020. Процитовано 03.09.2020.
- Офіційний сайт Elixir [Архівовано 18 квітня 2012 у Wayback Machine.] (англ.)
- Офіційний форум мови програмування Elixir
- Slack мови програмування Elixir
| Це незавершена стаття про мови програмування. Ви можете допомогти проєкту, виправивши або дописавши її. |