Show Notes

Why Learn Elixir?
It’s ideal for stable, long-running, consistently performant applications that serve millions of clients. Who doesn’t want that?

History of Erlang
Elixir is based on Erlang, a programming language built at Ericsson by three men: Joe Armstrong, Robert Virding, and Mike Williams. It was designed for telephone switches, a use case which surprisingly looks a lot like the modern web. Erlang’s design goals were:

  1. Concurrency
  2. Fault Tolerance
  3. Distribution
  4. High Availability

Erlang Implementation

+---------------------------------------+
|             Erlang Code               | <--- Code developers write
+---------------------------------------+
                   |
         Erlang Compiler / HiPE
                   |
+---------------------------------------+
|            .beam Bytecode             |
+---------------------------------------+
                   |
          BEAM Virtual Machine            <--- Interprets bytecode
                   |
+---------------------------------------+
|             Native code               | <--- Code the CPU processes
+---------------------------------------+

History of Elixir
Elixir was created by José Valim in 2009, built specifically to counter two weaknesses in Erlang:

  1. Metaprogramming
  2. Polymorphism

Main Elixir Features
Elixir has the following major features that Erlang does not.

  • Macros: metaprogramming through compile-time code generation
  • Protocols: polymorphism
  • Friendlier Syntax
  • Better Build Tools

Resources

Comments