What is Elixir and where it runs

Contents
What Elixir is
The Erlang VM
Why Elixir endures
Who uses it

What Elixir is

Erlang powers the Elixir BEAM VM.

Elixir is a dynamic functional language created by José Valim. You write plain text files, and the toolchain runs them on top of the Erlang virtual machine with no manual memory management.

Data in Elixir never changes in place. Functions take values in and return new values out, which makes programs easier to test and to reason about line by line.

IO.puts("Hello from Elixir") # prints Hello from Elixir 2 + 2 # gives 4

The Erlang VM

Erlang powers the Elixir BEAM VM.

The Erlang VM, called BEAM, runs your code as thousands of tiny isolated processes. These processes are far lighter than operating system threads, so one machine can juggle huge numbers of them at once.

Processes share nothing and talk by sending messages. When one process crashes, its neighbours keep running, which is why phone switches and chat backends trust this design.

pid = spawn(fn -> IO.puts("hello") end) # starts one process is_pid(pid) # gives true

Why Elixir endures

Erlang powers the Elixir BEAM VM.

Elixir pairs the battle tested VM with modern syntax: pattern matching, pipes, and a friendly toolset. Code reads top to bottom, and each step transforms data in a visible way.

The pipe operator takes the result on the left and feeds it as the first argument on the right. Long chains of nested calls turn into a flat readable list:

" hello " |> String.trim() |> String.upcase() # gives "HELLO"

Who uses it

Erlang powers the Elixir BEAM VM.

Teams pick Elixir for messaging systems, embedded devices, and web backends that must stay up under load. The same language covers tiny scripts and large servers, so skills transfer between small tools and big systems.

In this course you will move from installing the toolchain to writing scripts with variables, strings, and conditions. The next lesson installs Elixir on your machine.

Next: Install Elixir

Article author: Arthur Isaev

Related articles
Elixir
Elixir course: zero to hero in 50 lessons
What is Elixir and where it runs
Install Elixir
iex: the interactive shell
Your first script
Variables
Numbers
Strings
Atoms
Truthiness: only false and nil
Conditions
Recursion replaces loops
Lists
Tuples
Maps
Keyword lists
Functions
Defaults and clauses
Pattern matching
case
with chains
Modules in Elixir
import, alias, require, use in Elixir
Structs in Elixir
Protocols in Elixir
Behaviours in Elixir
The pipe operator in Elixir
Enum in Elixir
Stream in Elixir
Comprehensions in Elixir
Advanced strings in Elixir
Sigils
Binaries and charlists
Exceptions
ok and error tuples
Files and IO
Processes
GenServer
Supervisors
Tasks and Agents
OTP applications
Mix projects
Dependencies
Testing with ExUnit
Doctests
Debugging
Configs
Releases
Capstone: todo CLI
Capstone: HTTP server
Hero roadmap: the whole course on one page
Install Elixir on Windows 11
Install Elixir on Ubuntu
Install Elixir on Rocky Linux
Install Elixir on macOS
Install Elixir on FreeBSD
Elixir in Docker

Search this site

Channel @aofeed Chat @aofeedchat

Contacts and cooperation:
I recommend our hosting beget.com
Write to info@aredel.com if you:
1. Want to write an article for our site or translate an article into your native language.
2. Want to place thematically relevant ads on the site.
3. Ads on my site pass maximum censorship. If you see an ad block unsuitable for school-age children, shocking or misleading - please contact us by e-mail
4. Found a mistake, inaccuracy, bug, etc. on the site. ... .......
5. Articles can be shared on social media by clicking a network icon: