9 ms·
> · Go doesn't really do anything new. · Go isn't well-designed from the ground up. · Go is a regression from other modern programming languages. I don't rea
by cube2222 5y ago
> · Go doesn't really do anything new.
· Go isn't well-designed from the ground up.
· Go is a regression from other modern programming languages.
I don't really like how the author just chooses some features which Go doesn't have, and based on that says "Go doesn't bring anything new".
Yes, Go lacks some features, for better or worse, but that's not really the right conclusion.
One feature Go does really well and imo more ergonomic than any other widely used language is asynchronicity. There's no function coloring and all functions are asynchronous.
It's really freeing to be able to spawn almost free asynchronous tasks anywhere, and having no sync-async divide in the ecosystem.
I really miss this in other languages, even if I understand why some (Rust) didn't choose that approach.
- wyager 5y agoEven at the time, other languages like Erlang and Haskell had similar or superior green threading. These days there are many languages with decent green threading. I know you used the hedge “widely used language”, but that’s cheating because any language Google sponsors will be widely used :)
- goldsteinq 5y ago> There's no function coloring and all functions are asynchronous. There's another form of function coloring, "does this function take context or not". - It's easy to call function-without-context from function-with-context (but it breaks cancellation) - It's hard to call function-with-context from function-without-context (you must create context first) - Some functions in standard library have context, and some don't