Erlang logo

Erlang

A programming language used to build massively scalable soft real-time systems with requirements on high availability
1.3K
748
+ 1
345

What is 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.
Erlang is a tool in the Languages category of a tech stack.
Erlang is an open source tool with 11.4K GitHub stars and 3K GitHub forks. Here’s a link to Erlang's open source repository on GitHub

Who uses Erlang?

Companies
153 companies reportedly use Erlang in their tech stacks, including WhatsApp, Klarna, and Heroku.

Developers
524 developers on StackShare have stated that they use Erlang.

Erlang Integrations

Rollbar, Airbrake, Google Code Prettify, Hex, and Starship (Shell Prompt) are some of the popular tools that integrate with Erlang. Here's a list of all 15 tools that integrate with Erlang.
Pros of Erlang
62
Real time, distributed applications
62
Concurrency Support
58
Fault tolerance
36
Soft real-time
32
Open source
22
Message passing
22
Functional programming
16
Immutable data
14
Works as expected
6
Facebook chat uses it at backend
5
Practical
5
Knowledgeable community
4
Bullets included
1
WhatsApp uses it at backend
Decisions about Erlang

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

Needs advice
on
ErlangErlangGolangGolang
and
PostgreSQLPostgreSQL

Hello everyone, I plan on building a platform that supports 100s of forums out of the box, it would give the user the ability to create forums, where other users can comment, post images, and videos (the size of videos would be limited). Each forum would have the ability to trend. I have been doing a lot of research and I have arrived at Golang and Erlang as the backend languages and PostgreSQL as the DB. Erlang would be used for the routing of chats and messages, while Go would be used to manage the forums. We would also be implementing a one on one chat system like WhatsApp chat, where users can add contacts.

Please I would like to know if the languages picked are appropriate for this project. Suggestions would be appreciated.

See more

Erlang Alternatives & Comparisons

What are some alternatives to Erlang?
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.
Haskell
It is a general purpose language that can be used in any domain and use case, it is ideally suited for proprietary business logic and data analysis, fast prototyping and enhancing existing software environments with correct code, performance and scalability.
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.
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.
Akka
Akka is a toolkit and runtime for building highly concurrent, distributed, and resilient message-driven applications on the JVM.
See all alternatives

Erlang's Followers
748 developers follow Erlang to keep up with related blogs and decisions.