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.
Which companies are using Erlang, and why?
41–50 of 204 posts
Re: Which companies are using Erlang, and why?
#42Earlier 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.
https://github.com/becls/swish
Another in Gambit Scheme, but it hasn't been touched in a while:
Re: Which companies are using Erlang, and why?
#43Earlier 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.
Re: Which companies are using Erlang, and why?
#44I 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 ?
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?
#45Earlier 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.
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?
#46Earlier 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.
Re: Which companies are using Erlang, and why?
#47Telecom companies
Re: Which companies are using Erlang, and why?
#48FWIW, 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...
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?
#49Earlier 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.
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?
#50Earlier 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.…