Elixir Fundamentals

Elixir's combination of modern language features, and a 30-year-old battle-tested foundation at its core, has made it increasingly popular over the past year

Elixir Fundamentals

Liftoff

Elixir is in a fairly unique position as a programming language, in that it combines contemporary language features and excellent developer ergonomics with the established and battle-tested Erlang ecosystem.

  • LiftoffOrigins, Foundations & Core Principles

    When setting off to learn a new programming language, it's often incredibly useful to understand the language's foundations. In this case, we're dealing with a language built on top of another language, which runs on a virtual machine that supports other languages

  • LiftoffInteractive Elixir

    Elixir's interactive shell (IEx) is one of the most powerful tools in your toolbox. We'll outline some of the most useful features for beginners, including:

    • Running scripts
    • Getting metadata about a value
    • Accessing embedded documentation
    • Inspecting the state of a particular process
  • LiftoffIO & Files

    As with most programming languages, it's useful to know how to interact with files and humans. We'll take care of this early on, and notice a few things that foreshadow some interesting aspects of Elixir's concurrency model.

  • LiftoffEXERCISE: Reading a CSV File

    We're going to have to take a few things for granted, since we're just starting out, but let's use some existing well-documented code to read a CSV file into memory, and print some information about it to the console.


Solid Foundation

Learning a programming language in "as-needed" chunks can leave holes in critical areas of knowledge. In this course, there's no worry of "not knowing what you don't know".

The Functional Way

Many developers come to Elixir from a less functionally-oriented language like Ruby or JavaScript. We'll help you adjust the way you think, so you'll start forming good habits from day one!

Ecosystem Aligned

You'll learn how to align your code with Elixir and Erlang language-specific idioms, opinions and conventions. Why learn things the hard way on your own?