Erlang: What They Didn’t Tell You in the Brochure
Erlang is a language designed for building highly concurrent, highly available systems. And, based on our experience using it to build a large-scale VoIP soft-switch, it does a great job of this.
However…every language has a collection of “gotchas” which developers often don’t discover until they’re neck-deep in building a big system. If they’re really lucky, they’ll discover them before the users do.
I love Erlang as a language, but in this respect it’s no different from any others. This talk aims to briefly cover the things it would have been nice to have known before we ran head-long into them such as:
- How to crash your VM (and how not to)
- Message queues: they’re not magic
- Why you can’t just run Erlang as a Unix-style service (and how you can)
- Hot Code Loading: not as easy as you might hope
- The OTP: Forget everything they taught you in the first Erlang lesson
- System monitoring is even more important than you think