Elixir

Qu'est ce que c'est ?

  • Créé par José Valim
  • Apparu en 2011
  • v1.0 en 2014
  • Erlang Virtual Machine (BEAM)

Qu'est ce qu'erlang ?

  • Distribué
  • "Fault tolerant"
  • Hautement disponible
  • Rechargement à chaud

Pourquoi un nouveau langage ?

OTP

App

Http

Database

Curl

Email

...

App

Http

Database

Curl

....

Email

App

DB

Conn

Conn

Conn

Http

App

DB

Conn

Conn

Conn

Http

Conn

A quoi ressemble le code ?


nil        # Null
1          # Entier
1.0        # Float
true       # Booleen
"Salut"    # Chaine (<<83, 97, 108, 117, 116>>)
'Salut'    # Liste de caractère [83, 97, 108, 117, 116]
:atom      # Atom

[1, 2, "a"]  # List
{1, 2, "a"}  # Tuple

# Fonction anonyme
fn a -> a * 2 end
fn a -> 
  a * 2 
end

Types de variables ?


[1, 2, "a"]  # List
{1, 2, "a"}  # Tuple

# Keyword lists
[{:a, 1}, {:b, 2}]
[a: 1, b: 2]
[
  where: "...",
  where: "..."
]

# Map
%{:a => 1, :b => 2, "clef" => 3}
%{a: 1, b: 2, "clef" => 3}

Variables avancées

Made with Slides.com