Erlang, frankly, has a lot of problems. The first major thing I used Go to do in the 1.4-1.6 era was to migrate my multi-year production Erlang system to Go, and I never looked back.
Somehow Erlang gets this special dispensation where people get to talk about it as if it's still 2005 and it's still this unique and interesting snowflake with virtually no competition. Which it was... back then. But having successfully convinced the world that there's an interesting space there, in 2023 there's a ton of options and the point in that space Erlang staked out isn't actually that interesting or unique when you measure it by 2023 instead of 2005.
True, and Go has a much better story in some other areas, but “…if you needed to make a highly concurrent network app you had to get into asynchronous programming that generally makes code looks shit” is inaccurate.
No, they don't. They didn't before generics and they do even less now.
You can tell this is an accusation thrown around by non-Go programmers because frankly, throwing around a lot of interface{} was always really inconvenient. It's not something the language trains you to do... it's something you get punished for, really quite hard.
Somehow Erlang gets this special dispensation where people get to talk about it as if it's still 2005 and it's still this unique and interesting snowflake with virtually no competition. Which it was... back then. But having successfully convinced the world that there's an interesting space there, in 2023 there's a ton of options and the point in that space Erlang staked out isn't actually that interesting or unique when you measure it by 2023 instead of 2005.