Comment by Jtsummers

1 day ago

> There's not that many.

You list three that don't, and then you go on to list seven languages that do.

Yes, not many languages support concurrency like Go does...

And of those seven, how many are mainstream? A single one...

So it's really Go vs. Java, or you can take a performance hit and use Erlang (valid choice for some tasks but not all), or take a chance on a novel paradigm/unsupported language.

  • If you want mainstream, Java and C# are mainstream and both are used much more than Go. Clojure isn't too niche, though not as popular as Go, and supports concurrency out of the box at least as well as Go. Ada is still used widely within its niches and has better concurrency than Go baked in since 1983. And then, yes, Erlang and Elixir to add to that list.

    That's 6 languages, a non-exhaustive list of them, that are either properly mainstream and more popular than Go or at least well-known and easy to obtain and get started with. All of which have concurrency baked in and well-supported (unlike, say, C).

    EDIT: And one more thing, all but Elixir are older than Go, though Clojure only slightly. So prior art was there to learn from.