Live data from Hacker News

Which companies are using Erlang, and why?

erlang-solutions.com

41–50 of 204 posts

Re: Which companies are using Erlang, and why?

#41
post #35

Earlier quoted context omitted.

What was the reason to choose Elixir over Erlang? Just familiarity with the language?

Not OP, but have used Elixir pretty extensively; the major selling points for me are the friendlier syntax and more active community support, plus with rebar3 + Elixir's seamless Erlang interop you really don't give up anything, you can use any existing Erlang/Elixir libraries with a single syntax. It's pretty great.

Haven't touched Erlang but has an entry level knowledge on Elixir. I often heard how easy it is to write macros on Elixir. Can you elaborate on this?

Re: Which companies are using Erlang, and why?

#42
post #11

Earlier quoted context omitted.

Post from the implementing engineer himself: http://erlang.org/pipermail/erlang-questions/2017-December/0...

> Almost all of the bespoke code is written in Python, but the message-passing architecture of the system and the approach to managing availability was directly inspired by reading about Erlang (in particular your book). This approach is pretty interesting - I’d love to read about implementing Erlang-style availability in other languages.

I have been watching this for a while: the Chez Scheme concurrency engine

https://github.com/becls/swish

Another in Gambit Scheme, but it hasn't been touched in a while:

https://github.com/mindpool/gambit-termite

Re: Which companies are using Erlang, and why?

#43
post #29

Earlier quoted context omitted.

Erlang's advantage is being able to build a featureful, secure, scalable and performant enough communication backend in very little time and effort. This is a niche in which it can not be beaten.

Time/effort/security/performance, really? IIRC the reasons to consider Erlang is purely to do with building a fault tolerant highly distributed system.

You are missing the forest for the trees.

Re: Which companies are using Erlang, and why?

#44
post #15

I have never programmed Erlang but it feels like it is the currently only language that is some kind of secret weapon. It has similar aura than Lisp had before that with Erlang you can do stuff beyond "normal" languages.

> It has similar aura than Lisp had before that with Erlang you can do stuff beyond "normal" languages. Like what ?

You can absolutely do anything you can do in Erlang in another language. Some tasks will be easier, or harder, however.

In my mind, Erlang excels in a few ways:

Less often remarked, binary parsing in Erlang is rather nice. Parsing out an IPv4 packet looks like this:

  > = Payload,
  OptsSize = (IHL - 5) * 4,
  > = IPRest,
And then you've got everything. As long as formats are reasonably documented, it's easy to parse them. Sometimes, you can even parse a size and use the size in the same match.

More often remarked; because of the language constraints, most notably a lack of shared memory between processes and immutable variables, most programming ideas end up expressed in a way that's amenable to massive concurrency, while being comprehensible. Most Actors have easy to understand behavior --- they may accept messages, leading to them sending messages and changing their internal state. From there, you may need to puzzle out the overall system behavior, but often times, getting each individual Actor's behavior correct, leads to correct (if hard to verify) system behavior.

Hot loading code reduces deployment time, which increases developer productivity. When you've got a million users connected to a machine, it takes a lot of time to move them to other machines so you can do a traditional stop / start cycle; hot loading means you can fix things in seconds (and, of course, it means you can break things in seconds too). You can, of course, hotload in C, and probably other languages, but very few people do it. It's comparable to pushing PHP files though.

And, of course, the most important thing is ejabberd is in Erlang, and it looks like it has what we need for a chat server, and I heard some other people scaled it really far. ;)

Re: Which companies are using Erlang, and why?

#45
post #29

Earlier quoted context omitted.

> It has similar aura than Lisp had before that with Erlang you can do stuff beyond "normal" languages. Like what ?

Erlang's advantage is being able to build a featureful, secure, scalable and performant enough communication backend in very little time and effort. This is a niche in which it can not be beaten.

> ...in very little time and effort.

You have a very naive view of large-scale distributed systems. For companies that truly need them, "time" and "effort" are never a consideration. Furthermore, the challenges facing these companies in battling project delays and cost overruns are the 100% organizational and political, not technical.

Re: Which companies are using Erlang, and why?

#46
post #29

Earlier quoted context omitted.

Erlang's advantage is being able to build a featureful, secure, scalable and performant enough communication backend in very little time and effort. This is a niche in which it can not be beaten.

Time/effort/security/performance, really? IIRC the reasons to consider Erlang is purely to do with building a fault tolerant highly distributed system.

This. And it's ability to be introspected in realtime. It has a REPL-experience very much like lisp's do

Re: Which companies are using Erlang, and why?

#48

FWIW, wechat's messaging server is in erlang. In terms of scale, it's probably bigger than whatsapp.

The opposite is true by a non trivial margin. (It doesn’t change the fact that WeChat is massive scale.) https://www.statista.com/statistics/258749/most-popular-glob...

The Discord number is inflated - 250mm is registered users, not MAUs. When they announced 250mm registered, they had 56mm MAUs.

Telegram's 200mm is MAUs, and that number is over 1 year older than Discord's information.

Re: Which companies are using Erlang, and why?

#49
post #29

Earlier quoted context omitted.

Erlang's advantage is being able to build a featureful, secure, scalable and performant enough communication backend in very little time and effort. This is a niche in which it can not be beaten.

> ...in very little time and effort. You have a very naive view of large-scale distributed systems. For companies that truly need them, "time" and "effort" are never a consideration. Furthermore, the challenges facing these companies in battling project delays and cost overruns are the 100% organizational and political, not technical.

Where did I mention "large-scale distributed systems"?

My entire intention was to say Erlang is easy to get off the ground with quickly.

Most companies outside of the Silicon valley bubble are resource limited.

Re: Which companies are using Erlang, and why?

#50
post #44

Earlier quoted context omitted.

> It has similar aura than Lisp had before that with Erlang you can do stuff beyond "normal" languages. Like what ?

You can absolutely do anything you can do in Erlang in another language. Some tasks will be easier, or harder, however. In my mind, Erlang excels in a few ways: Less often remarked, binary parsing in Erlang is rather nice. Parsing out an IPv4 packet looks like this: > = Payload, OptsSize = (IHL - 5) * 4, > = IPRest, And then you've got everything. As long as formats are reasonably documented, it's easy to parse them.…

To be fair though many Erlang programmers also avoid hot loading code. For the rest, nice summary.
Post reply on HN