← Back to context

Comment by antonchekhov

1 day ago

> there are many languages in popular use that can do this, in many cases better than golang

I'd love to see a list of these, with any references you can provide.

Erlang, Elixir, Ada, plenty of others. Erlang and Ada predate Go by several decades, too.

You wanted sources, here's the chapter on tasks and synchronization in the Ada LRM: http://www.ada-auth.org/standards/22rm/html/RM-9.html

For Erlang and Elixir, concurrent programming is pretty much their thing so grab any book or tutorial on them and you'll be introduced to how they handle it.

Haskell would be one of them. It features transactional memory, which frees the programmer from having to think about explicitly locking.