logoalt Hacker News

rashkovtoday at 2:19 AM2 repliesview on HN

What kind of software actually requires this? Honest question. Anything I can think of would probably be written by C++ devs


Replies

RossBencinatoday at 4:45 AM

"requires" is of course subjective, there are always multiple ways to do something. But sometimes it is convenient to model a system as concurrent execution streams, for example: multiple sessions (servers), multiple entities (games, robotics), multiple in-flight transactions (any kind of i/o or concurrent compute). Agreed these are often C++ use-cases but there are obvious benefits to using Erlang or other virtual machines: memory safety, isolation, fault tolerance.

pdimitartoday at 2:22 AM

Web / API services during bursts. Or just when you _really_ don't want to scale horizontally.

Elixir / Golang can do this very well. And they do. I have supervised, led and authored such projects that are in production to this day.

Rust too but it's lower-level and you kind of have to hand-roll OTP which of course will always fail.

show 1 reply