News for hackers. Stuff that matters.
Re:Ergo: Erlang/OTP patterns implemented in Golang by throwawaymaths on Saturday January 28, 2023 @02:27PM (#34560713)
It's not about concurrency, it's about failure domains.

The go VM doesn't natively let you take out monitors/links, so if "the right thing to do" when some part of a set of concurrent tasks fails is to "just give up" (suppose task 3/5 reaches out to an external service and comes back with a 500 error)... Handling the teardown of the whole thing (and potentially rollback state) is gnarly in go. In Erlang it's often zero lines of code. In Elixir, this architecture let the anointed db engine roll back a partially completed database transaction by default (0loc) in such a scenario.

Re:Ergo: Erlang/OTP patterns implemented in Golang by rad_gruchalski on Saturday January 28, 2023 @09:28PM (#34564271)
There’s a very interesting aspect to what you mention here that is often overlooked. In Erlang every process has its own garbage collection. Every process has a stack and a heap. Stopping a process, or a process dying, automatically cleans up any resources used.