~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ 5199E549DB29FCAF26B147F5E058891D__1715021700 ✰
Заголовок документа оригинал.:
✰ Elixir (programming language) - Wikipedia ✰
Заголовок документа перевод.:
✰ Эликсир (язык программирования) — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/Elixir_(programming_language) ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/51/1d/5199e549db29fcaf26b147f5e058891d.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/51/1d/5199e549db29fcaf26b147f5e058891d__translat.html ✰
Дата и время сохранения документа:
✰ 16.06.2024 09:15:10 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 6 May 2024, at 21:55 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

Эликсир (язык программирования) — Википедия Jump to content

Эликсир (язык программирования)

Из Википедии, бесплатной энциклопедии
Эликсир
язык программирования эликсир
Эликсир
Парадигмы мультипарадигмальность : функциональная , параллельная , распределенная , процессно-ориентированная.
Разработано Хосе Валим
Впервые появился 2012 год ; 12 лет назад ( 2012 )
Стабильная версия
1.16.3 [1]  Отредактируйте это в Викиданных/ 20 мая 2024 г .; 25 дней назад ( 20 мая 2024 г. )
Дисциплина набора текста динамичный , сильный
Платформа Эрланг
Лицензия Лицензия Апач 2.0 [2]
Расширения имен файлов .ex, .exs
Веб-сайт эликсир-ланг .org
Под влиянием
Кложур , Эрланг , Руби
Под влиянием
Блеск , ЛФЭ

Elixir — это функциональный , параллельный , высокоуровневый общего назначения язык программирования , работающий на BEAM виртуальной машине , который также используется для реализации языка программирования Erlang . [3] Elixir построен на основе Erlang и использует те же абстракции для создания распределенных отказоустойчивых приложений . Elixir также предоставляет инструменты и расширяемый дизайн. Последнее поддерживается метапрограммированием во время компиляции с макросами и полиморфизмом через протоколы. [4]

Сообщество организует ежегодные мероприятия в США. [5] Европа, [6] и Япония, [7] а также небольшие местные мероприятия и конференции. [8] [9]

История [ править ]

Хосе Валим создал язык программирования Elixir в рамках научно-исследовательского проекта Plataformatec. Его целью было обеспечить более высокую расширяемость и производительность виртуальной машины Erlang при сохранении совместимости с экосистемой Erlang. [10] [11]

Elixir предназначен для крупных сайтов и приложений. Он использует возможности Ruby , Erlang и Clojure для разработки языка с высоким уровнем параллелизма и низкой задержкой. Он был разработан для обработки больших объемов данных. Эликсир также используется в телекоммуникациях, электронной коммерции и финансах. [12]

В 2021 году было объявлено о создании Numerical Elixir с целью внедрения в экосистему Elixir машинного обучения, нейронных сетей, компиляции на графических процессорах, обработки данных и вычислительных ноутбуков. [13]

Управление версиями [ править ]

Каждая из второстепенных версий поддерживает определенный диапазон версий Erlang/ OTP . [14] Текущая стабильная версия — 1.16.3. [1]  Отредактируйте это в Викиданных.

Особенности [ править ]

Примеры [ править ]

Следующие примеры можно запустить в iex оболочке или сохранить в файле и запустить из командной строки , набрав elixir <filename>.

Классический пример Hello world :

iex>  ИО  .   ставит  (  «Привет, мир!»  ) 
 Привет, мир! 

Оператор трубы:

iex>  «Эликсир»   |>   Строка  .   графемы  ()   |>   Enum  .   частоты  () 
 %{"E" => 1, "i" => 2, "l" => 1, "r" => 1, "x" => 1} 

 iex>  %{  значения  :   1  ..  5  }   |>   Карта  .   получить  (  :значения  )   |>   Перечисление  .   map  (  &   &1   *   2  ) 
 [2, 4, 6, 8, 10] 

 iex>  |>   Enum  .   сумма  () 
 30 

Сопоставление с образцом (также известное как деструктуризация):

iex>  %{  влево  :   x  }   =   %{  влево  :   5  ,   вправо  :   8  } 
 iex>  x 
 5 

 iex>  {  :ok  ,   [  _   |    отдых  ]}   =   {  :ok  ,   [  1  ,   2  ,   3  ]} 
 iex>  отдых 
 [2, 3] 

Сопоставление шаблонов с несколькими предложениями:

iex>  дела   файл  .   read  (  "путь/к/файлу"  )   do 
 iex>    {  :ok  ,   contents  }   ->   IO  .   puts  (  "найден файл:  #{  содержание  }  "  ) 
 iex>    {  :error  ,   причина  }   ->   IO  .   puts  (  "отсутствует файл:  #{  причина  }  "  ) 
 iex>  end 

Понимание списка :

iex>  for   n   <-   1  ..  5  ,   rem  (  n  ,   2  )   ==   1  ,   do  :   n  *  n 
 [1, 9, 25] 

Асинхронное чтение файлов с потоками:

1  ..  5 
 |>   Задача  .   async_stream  (  &  File  .  read!  (  "  #{  &1  }  .txt"  )) 
 |>   Stream  .   filter  (  fn   {  :ok  ,   contents  }   ->   String.trim  "  (  "  contents  )   !=   end   >  ) 
 |   Enum  .   присоединиться  (  «  \n  »  ) 

Многофункциональные тела с защитой :

def   fib  (  n  )   , когда   n   в   [  0  ,   1  ],   do  :   n 
 def   fib  (  n  ),   do  :   fib  (  n  -  2  )   +   fib  (  n  -  1  ) 

Реляционные базы данных с библиотекой Ecto:

схема   "погода"   do 
   field   :city       # По умолчанию тип :string 
   field   :temp_lo  ,   :integer 
   field   :temp_hi  ,   :integer 
   field   :prcp  ,      :float  ,   по умолчанию  :   0.0 
 end 

 Погода   |>   where  (  город  :   "Краков"  )   |>   order_by  (  :temp_lo  )   |>   лимит  (  10  )   |>   Репо  .   все 

Последовательно порождая тысячу процессов:

для   числа   -   1  ..  1000  выполните   :  spawn   fn   .   ->   IO  <   ставит  (  "  # {  num   *   2  }  "  )   конец 

Асинхронное выполнение задачи:

задача   =   Задача  .   async   fn   ->   Perform_complex_action  ()   endother_time_sumption_action 
 Task  ( 
 .  )   ждать   задания 

[ нужна цитата ]

См. также [ править ]

Ссылки [ править ]

  1. ^ Перейти обратно: а б «Выпуск 1.16.3» . 20 мая 2024 г. Проверено 22 мая 2024 г.
  2. ^ «эликсир/ЛИЦЕНЗИЯ в мастере · elixir-lang/elixir · GitHub» . Гитхаб .
  3. ^ «Самые популярные языки программирования 2018 года — блог Elite Infoworld» . 2018-03-30. Архивировано из оригинала 9 мая 2018 г. Проверено 8 мая 2018 г.
  4. ^ «Эликсир» . Хосе Валим . Проверено 17 февраля 2013 г.
  5. ^ «ЭликсирКонф» . Проверено 11 июля 2018 г.
  6. ^ «ЭликсирКонф» . Проверено 11 июля 2018 г.
  7. ^ «Эрланг и Эликсир Фест» . Проверено 18 февраля 2019 г.
  8. ^ «Эликсир ЛДН» . Проверено 12 июля 2018 г.
  9. ^ «EMPEX - Конференция по эликсиру Эмпайр-Стейт» . Проверено 12 июля 2018 г.
  10. ^ Эликсир — современный подход к программированию для Erlang VM . Проверено 17 февраля 2013 г.
  11. ^ Хосе Валим – Основной доклад ElixirConf EU 2017 . Архивировано из оригинала 17 ноября 2021 г. Проверено 14 июля 2017 г.
  12. ^ «За кодом: Тот, кто создал эликсир» . Проверено 25 ноября 2019 г.
  13. ^ «Численный эликсир (Nx)» . Проверено 6 мая 2024 г.
  14. ^ Elixir — это динамический функциональный язык, предназначенный для создания масштабируемых и поддерживаемых приложений: elixir-lang/elixir , Elixir, 21 апреля 2019 г. , получено 21 апреля 2019 г.
  15. ^ Перейти обратно: а б с д Это ж «Эликсир» . Проверено 7 сентября 2014 г.
  16. ^ «Написание уверенного кода с помощью Elixir» . 24 сентября 2014 года . Проверено 5 июля 2018 г.
  17. ^ Лодер, Вольфганг (12 мая 2015 г.). Эрланг и Эликсир для императивных программистов . «Глава 16: Концепции структурирования кода», заголовок раздела «Модель актера»: Leanpub . Проверено 7 июля 2015 г. {{cite book}}: CS1 maint: местоположение ( ссылка )
  18. ^ Влашин, Скотт (май 2013 г.). «Железнодорожно-ориентированное программирование» . F# для удовольствия и прибыли . Архивировано из оригинала 30 января 2021 года . Проверено 28 февраля 2021 г.

Дальнейшее чтение [ править ]

Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: 5199E549DB29FCAF26B147F5E058891D__1715021700
URL1:https://en.wikipedia.org/wiki/Elixir_(programming_language)
Заголовок, (Title) документа по адресу, URL1:
Elixir (programming language) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)