Elixir logo

Elixir

Dynamic, functional language designed for building scalable and maintainable applications
3.4K
3.2K
+ 1
1.3K

What is Elixir?

Elixir leverages the Erlang VM, known for running low-latency, distributed and fault-tolerant systems, while also being successfully used in web development and the embedded software domain.
Elixir is a tool in the Languages category of a tech stack.
Elixir is an open source tool with 23.5K GitHub stars and 3.3K GitHub forks. Here’s a link to Elixir's open source repository on GitHub

Who uses Elixir?

Companies
451 companies reportedly use Elixir in their tech stacks, including Vox Media, Chime, and Fresha.

Developers
2565 developers on StackShare have stated that they use Elixir.

Elixir Integrations

Sentry, Phoenix Framework, Strapi, Buddy, and pgvector are some of the popular tools that integrate with Elixir. Here's a list of all 31 tools that integrate with Elixir.
Pros of Elixir
172
Concurrency
161
Functional
133
Erlang vm
112
Great documentation
105
Great tooling
86
Immutable data structures
81
Open source
77
Pattern-matching
62
Easy to get started
59
Actor library
32
Functional with a neat syntax
29
Ruby inspired
25
Erlang evolved
24
Homoiconic
22
Beauty of Ruby, Speed of Erlang/C
17
Fault Tolerant
14
Simple
13
High Performance
11
Pipe Operator
11
Good lang
11
Doc as first class citizen
9
Fun to write
9
Stinkin' fast, no memory leaks, easy on the eyes
8
Resilient to failure
8
OTP
6
GenServer takes the guesswork out of background work
4
Idempotence
4
Pattern matching
4
Not Swift
4
Fast, Concurrent with clean error messages
3
Easy to use
2
Error isolation
2
Dynamic Typing
Decisions about Elixir

Here are some stack decisions, common use cases and reviews by companies and developers who chose Elixir in their tech stack.

Kamil Kowalski
Lead Architect at Fresha · | 28 upvotes · 3.9M views

When you think about test automation, it’s crucial to make it everyone’s responsibility (not just QA Engineers'). We started with Selenium and Java, but with our platform revolving around Ruby, Elixir and JavaScript, QA Engineers were left alone to automate tests. Cypress was the answer, as we could switch to JS and simply involve more people from day one. There's a downside too, as it meant testing on Chrome only, but that was "good enough" for us + if really needed we can always cover some specific cases in a different way.

See more
Kamil Kowalski
Lead Architect at Fresha · | 3 upvotes · 216.7K views

Coming from a Ruby background, we've been users of New Relic for quite some time. When we adopted Elixir, the New Relic integration was young and missing essential features, so we gave AppSignal a try. It worked for quite some time, we even implemented a :telemetry reporter for AppSignal . But it was difficult to correlate data in two monitoring solutions, New Relic was undergoing a UI overhaul which made it difficult to use, and AppSignal was missing the flexibility we needed. We had some fans of Datadog, so we gave it a try and it worked out perfectly. Datadog works great with Ruby , Elixir , JavaScript , and has powerful features our engineers love to use (notebooks, dashboards, very flexible alerting). Cherry on top - thanks to the Datadog Terraform provider everything is written as code, allowing us to collaborate on our Datadog setup.

See more
Needs advice
on
ElixirElixirPythonPython
and
RustRust

which is great for web development? Elixir with Pheonix or Python with Django? or Rust with Rocket? which stack provides low latency, almost real-time, quick data updates? and also does not put a burden on CPUs for Cloud Software Development?

See more
Needs advice
on
AngularJSAngularJSC++C++
and
JavaJava

I will use Elixir for personal projects. It's productive, reliable, secure, simple, etc. But when performance is critical, I need job opportunities, when I work with mutability, which do I pick? I need advice on which "bureaucratic, mainstream" programming language to pick when wanting performance and jobs. Elixir is often "slow", and it hasn't boomed yet the way Golang and Rust have, so which?

See more
Needs advice
on
ElixirElixir
and
RustRust

I've been working with Js/Ts as a backend developer and I would like to get some suggestions about what new language to learn right now. I've been thinking about Elixir or Rust, focusing on creating WebApis and Blockchain technology. I am passionate about the funcional way but I'm now confident about Elixir in Blockchain. Rust seems like have more jobs about it than Elixir in a little research. Someone could give me some advice? Thank you.

See more

Blog Posts

Oct 24 2019 at 7:43PM

AppSignal

JavaScriptNode.jsJava+8
5
957

Elixir Alternatives & Comparisons

What are some alternatives to Elixir?
Golang
Go is expressive, concise, clean, and efficient. Its concurrency mechanisms make it easy to write programs that get the most out of multicore and networked machines, while its novel type system enables flexible and modular program construction. Go compiles quickly to machine code yet has the convenience of garbage collection and the power of run-time reflection. It's a fast, statically typed, compiled language that feels like a dynamically typed, interpreted language.
Erlang
Some of Erlang's uses are in telecoms, banking, e-commerce, computer telephony and instant messaging. Erlang's runtime system has built-in support for concurrency, distribution and fault tolerance. OTP is set of Erlang libraries and design principles providing middle-ware to develop these systems.
Clojure
Clojure is designed to be a general-purpose language, combining the approachability and interactive development of a scripting language with an efficient and robust infrastructure for multithreaded programming. Clojure is a compiled language - it compiles directly to JVM bytecode, yet remains completely dynamic. Clojure is a dialect of Lisp, and shares with Lisp the code-as-data philosophy and a powerful macro system.
Ruby
Ruby is a language of careful balance. Its creator, Yukihiro “Matz” Matsumoto, blended parts of his favorite languages (Perl, Smalltalk, Eiffel, Ada, and Lisp) to form a new language that balanced functional programming with imperative programming.
Rust
Rust is a systems programming language that combines strong compile-time correctness guarantees with fast performance. It improves upon the ideas of other systems languages like C++ by providing guaranteed memory safety (no crashes, no data races) and complete control over the lifecycle of memory.
See all alternatives

Elixir's Followers
3225 developers follow Elixir to keep up with related blogs and decisions.