Elixir logo

Elixir

Dynamic, functional language designed for building scalable and maintainable applications
2.7K
2.7K
+ 1
1.2K

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 19.2K GitHub stars and 2.8K GitHub forks. Here’s a link to Elixir's open source repository on GitHub

Who uses Elixir?

Companies
422 companies reportedly use Elixir in their tech stacks, including Stack, Vox Media, and RD Station.

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

Elixir Integrations

Sentry, Phoenix Framework, Strapi, Buddy, and Airbrake are some of the popular tools that integrate with Elixir. Here's a list of all 20 tools that integrate with Elixir.
Pros of Elixir
163
Concurrency
151
Functional
127
Erlang vm
109
Great documentation
102
Great tooling
82
Immutable data structures
78
Open source
74
Pattern-matching
61
Easy to get started
57
Actor library
28
Ruby inspired
28
Functional with a neat syntax
24
Homoiconic
22
Erlang evolved
20
Beauty of Ruby, Speed of Erlang/C
17
Fault Tolerant
13
Simple
13
High Performance
10
Good lang
9
Doc as first class citizen
9
Stinkin' fast, no memory leaks, easy on the eyes
8
Pipe Operator
7
Resilient to failure
6
Fun to write
5
OTP
5
GenServer takes the guesswork out of background work
4
Not Swift
4
Pattern matching
4
Idempotence
4
Fast, Concurrent with clean error messages
2
Error isolation
1
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 · | 27 upvotes · 1.1M 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 · 49.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

Blog Posts

Oct 24 2019 at 7:43PM

AppSignal

+8
5
716

Elixir Alternatives & Comparisons

What are some alternatives to Elixir?
Go
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
2675 developers follow Elixir to keep up with related blogs and decisions.