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

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
Elixir
Парадигма мультипарадигмальна: паралельна, функціональна
Дата появи 2012
Розробник José Valim
Останній реліз 1.16.2 (10 березня, 2024; 56 днів тому (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, але спростити синтаксис мови та інструменти створення проектів.

Призначення[ред. | ред. код]

Мова орієнтована на розробку надійних систем які забезпечують паралельну обробку запитів та невибагливі до апаратних ресурсів у порівнянні з подібними системами написаними на інших мовах програмування. Код програми виконується в легких потоках (не плутати з процесами, які виділяються операційною системою для програми). Потоки ізольовані і не мають спільного стану. Передача інформації іншим потокам можлива тільки через синхронний або асинхронний обмін повідомленнями.

Головним інструментом для створення проектів, компіляції, керування залежностями є утиліта під назвою Mix.

Метапрограмування[ред. | ред. код]

Elixir має систему для метапрограмування, на яку суттєво вплинула Clojure.[2]

Див. також[ред. | ред. код]

Примітки[ред. | ред. код]

  1. Releases - elixir-lang/elixir.
  2. Artur Plysyuk (28 жовтня 2020). Elixir — мова для роботи з I/O. Синтаксис, документація та спільнота. dou.ua (укр.). DOU.ua. Архів оригіналу за 1 листопада 2020. Процитовано 10 грудня 2020.

Посилання[ред. | ред. код]