Elixir est un langage de programmation multi-paradigme fonctionnant sur la machine virtuelle Erlang (BEAM). Il est créé en 2011 par le développeur José Valim[2], personnalité du monde Ruby et l'un des premiers contributeurs au framework de programmation Ruby on Rails. Il intègre les paradigmes de programmation fonctionnelle, programmation concurrente et programmation orientée processus (en), et supporte la métaprogrammation via un système de macros et le polymorphisme via un système dit de protocoles.

Elixir
Logo.

Date de première version 2011
Paradigme Fonctionnel, concurrent
Auteur José Valim Hernàndez
Développeur José Valim Hernàndez
Dernière version 1.20 (3 juin 2026)[1]Voir et modifier les données sur Wikidata
Typage Dynamique
Influencé par Erlang, Clojure, Ruby
Écrit en ElixirVoir et modifier les données sur Wikidata
Licence Licence Apache
Site web elixir-lang.orgVoir et modifier les données sur Wikidata
Extension de fichier ex et exsVoir et modifier les données sur Wikidata

Historique

modifier

Elixir est né de plusieurs constats ; d'une part le fait que la fréquence des processeurs cesse de progresser durant les années 2000, laissant place à l'émergence de processeurs multi-cœurs[3],[4] ; et d'autre part que l'écosystème Erlang, et notamment sa machine virtuelle, tire avantage de ce type d'architectures multi-processeurs, toute exécution d'un programme étant constituée d'un ensemble de micro processus parallèles[3]. Elixir est précisément né afin de pallier certaines carences d'Erlang relatives à certains paradigmes ou certaines approches de programmation telles que la métaprogrammation ou le polymorphisme[5].

Syntaxe

modifier

Exemple de code :

IO.puts("Hello, World!")

Liens externes

modifier

Bibliographie

modifier
  • (en) Dave Thomas, Programming Elixir : : Functional |> Concurrent |> Pragmatic |> Fun, Dallas, Texas, The Pragmatic Bookshelf, 2014, 280 p. (ISBN 978-1-937785-58-1)

Notes et références

modifier
  1. a et b « https://github.com/elixir-lang/elixir/releases/ »
  2. (en) « josevalim (José Valim) · GitHub », sur GitHub (consulté le 6 mai 2025).
  3. a et b (Thomas, p. 13)
  4. (en) « Concurrent and Distributed Programming with Erlang and Elixir: Part 1 », sur HuffPost, 27 novembre 2013 (consulté le 12 août 2024)
  5. (Thomas, p. 14)

📚 Artikel Terkait di Wikipedia

Rachid Guerraoui

Algorithms of Concurrent Systems, Introduction to Reliable and Secure Distributed Programming et Principles of Transactional Memory. Il a été lauréat d'une bourse

SR (programmation)

Systems Programming: The SR Programming Language, Oxford University Press, (ISBN 0-19-509579-0) (en) Gregory R. Andrews, « The distributed programming language

Argus (langage de programmation)

Wikipédia en anglais intitulé « Argus (programming language) » (voir la liste des auteurs). Liskov, « Distributed Programming in Argus », Communications of the

Sûreté (propriété de programme)

Guerraoui; Luís Rodrigues (2010). Introduction to reliable and secure distributed programming (2. ed.). Berlin: Springer Berlin. (ISBN 978-3-642-15259-7) Portail

Liste de langages de programmation

(programming language) (en) Accent ActForex Distributed Application Specification Language (DASL) (en) ACT-III Ada Adenine Afnix Agora (programming language) (en)

Programmation en binôme

Prechelt et Stephan Salinger, « Distributed-pair programming can work well and is not just distributed pair-programming », Companion Proceedings of the

Comparaison des langages de programmation multi-paradigmes

support (lazy functional programming) using Reactive Extensions (Rx) dispatch multiple, combinaisons de fonctions actor programming using Node.js' cluster

Framework

engineering for distributed Java applications, Springer - 2003, (ISBN 9783540006794) (en) Douglas C. Schmidt et Stephen D. Huston, C++ Network Programming: Systematic