Elixir (мова програмування)

Elixir
Парадигмамультипарадигмальна: паралельна, функційна
Дата появи2012
РозробникJosé Valim
Останній реліз1.16.2 (10 березня, 2024; 14 місяців тому (2024-03-10)[1])
Система типізаціїдинамічна типізація, сильна типізація
Під впливом відErlang, Clojure, Ruby
ПлатформаBEAMd Редагувати інформацію у Вікіданих
Операційна системаБагато-платформова
ЛіцензіяApache 2.0
Звичайні розширення файлів.ex, .exs
Репозиторій вихідного кодуgithub.com/elixir-lang/elixir Редагувати інформацію у Вікіданих
Вебсайтelixir-lang.org

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.[2]

Використання

Мовою Elixir написано код центральної бази даних Електронної системи охорони здоров'я України[3][4].

Див. також

Примітки

  1. Releases - elixir-lang/elixir.
  2. Artur Plysyuk (28 жовтня 2020). Elixir — мова для роботи з I/O. Синтаксис, документація та спільнота. dou.ua (укр.). DOU.ua. Архів оригіналу за 1 листопада 2020. Процитовано 10 грудня 2020.
  3. 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, який також знаходиться у виробництві.)
  4. Текст: Ганна Левченко (3 вересня 2020). Інформація про наявність медикаментів у лікарнях буде відкритою і оновлюватиметься в реальному часі – заступник міністра охорони здоров'я Кучер. Інтерфакс-Україна. Архів оригіналу за 4 вересня 2020. Процитовано 03.09.2020.

Посилання

Prefix: a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9

Portal di Ensiklopedia Dunia

Kembali kehalaman sebelumnya