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

Elixirфункційна мова програмування загального призначення з сильною (strongly typed) динамічною типізацією. Програма транслюється у байт-код, який виконується на віртуальній машині Erlang (BEAM). Крім того, Elixir має сумісність з бібліотеками Erlang та фреймворком Erlang/OTP.

Elixir
Парадигма мультипарадигмальна: паралельна, функціональна
Дата появи 2012
Розробник José Valim
Останній реліз 1.13.2 (13 січня, 2022 (2022-01-13)[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]

Див. також

Примітки

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

Посилання

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.