Skip to content

Latest commit

 

History

History
43 lines (32 loc) · 1.14 KB

File metadata and controls

43 lines (32 loc) · 1.14 KB

ElixirBasics

Notes on Learning Elixir

Start with src folder for code.

Elixir inherits a lot from Erlang and The Erlang Virtual Machine BEAM. It's a new language that runs on Erlangs Virtual Machine. Erlang Design Goals.

  1. Concurrency
  2. Fault Tolerance
  3. Distribution - Run everywhere.
  4. High Availability - Uptime is a priority.

Features.

  1. Erlang is a compiled programming language.
  2. Immutable state.
  3. Functional.
  4. Processes as a basic abstraction.
  5. Message Passing Concurrency.
  6. Process monitoring with automatic restarts.
  7. Distributed computing.

Erlang Implementation.

  • Erlang Programming language.
  • BEAM Virtual Machine
  • Tools.

Elixir Founded in 2009.

Missing features in Erlang.

  1. Metaprogramming - It's difficult to extend the language to other domains due to lack of inheritance, its hard to clean boilerplate code.
  2. Polymorphism - If you need to extend a library your only option generally is to fork it.

Elixir's Answers!!

  1. Macros - Elixir is built in Elixir. defmodule, def, if, unless.
  2. Polymorphism through protocols these are like interfaces in OOP.
  3. Frendlier Syntax than Erlang.
  4. Better build toos.