Elixir logo

Elixir

Dynamic, functional language designed for building scalable and maintainable applications
2.9K
2.9K
+ 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 20.6K GitHub stars and 2.9K GitHub forks. Here’s a link to Elixir's open source repository on GitHub

Who uses Elixir?

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

Developers
2334 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 22 tools that integrate with Elixir.
Pros of Elixir
169
Concurrency
155
Functional
130
Erlang vm
110
Great documentation
103
Great tooling
84
Immutable data structures
79
Open source
76
Pattern-matching
61
Easy to get started
58
Actor library
29
Functional with a neat syntax
28
Ruby inspired
24
Homoiconic
23
Erlang evolved
21
Beauty of Ruby, Speed of Erlang/C
17
Fault Tolerant
13
High Performance
13
Simple
10
Good lang
9
Stinkin' fast, no memory leaks, easy on the eyes
9
Doc as first class citizen
9
Pipe Operator
7
Resilient to failure
6
Fun to write
5
OTP
5
GenServer takes the guesswork out of background work
4
Fast, Concurrent with clean error messages
4
Idempotence
4
Not Swift
4
Pattern matching
2
Error isolation
1
Easy to use
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 · | 28 upvotes · 1.6M 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 · 99.4K 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
Shared insights
on
RustRustDjangoDjangoPythonPythonElixirElixir

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
Shared insights
on
RustRustGolangGolangElixirElixir

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
Shared insights
on
RustRustElixirElixir

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
825

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
2946 developers follow Elixir to keep up with related blogs and decisions.