4 ms·
Sorry, I mostly meant the VM/platform, not the Erlang language. I assume it'll give all the great features like process trees (with dependencies), introspection
by k_bx 6y ago
Sorry, I mostly meant the VM/platform, not the Erlang language. I assume it'll give all the great features like process trees (with dependencies), introspection, logging, discoverability and other tools that make it great for distributed programming.
- brightball 6y agoThe language itself brings most of that. The biggest thing that the BEAM provides is a preemptive scheduler to ensure that you can run millions of concurrent processes without any one of them dominating the CPU resources, ensuring consistent performance regardless of load. It also provides minuscule overhead for each process so that creating a supervising process for every item isn't really a cost. When you start talking distribution across nodes and hot loading code, that's where static typing starts to really bite you back because you don't have any way to enforce it across nodes or during a hot loading transition.
- k_bx 6y ago> When you start talking distribution across nodes and hot loading code, that's where static typing starts to really bite you back because you don't have any way to enforce it across nodes or during a hot loading transition. I agree, the status quo is that static typing often gives you more of a headache than profit. But I think that it actually could be the other way around, we just need to start thinking backwards-compatibility-first static typing, and it looks like an exciting area to explore.