Re:Go’ing Insane: Endless Error Handling
by Zababa on Tuesday September 14, 2021 @03:46PM
(#28530041)
People use Rust as an example when talking about Go because Rust could live in the same space as Go, and more people know about Rust than Haskell/OCaml/SML. I think OCaml should be what Go could be compared to, as when Go was created it was already solid[+]. Rust came after and took inspiration from OCaml and others. People criticize Go because Rust learned some important lessons from other languages, and Go didn't. Some people will argue that it's a matter of taste, but some Go users would love something closer to ML (https://go.dev/blog/survey2020/missing_features.svg, https://go.dev/blog/survey2020-results).
[+]: Of course there's the multicore story. OCaml is soon getting it (in a backwards-compatible way even!) but at the time Go was created it wasn't ready. Still, from what I remember there were some multicore ML that existed, and considering most of the work that went into Go was around the standard library and tooling, they could easily have made popular a different language. Some people will argue about "simplicity" and "Go being close to C", but I think that by "simplicity" most people mean "actually good tooling, GC'd, compile to a single binary fast".
[+]: Of course there's the multicore story. OCaml is soon getting it (in a backwards-compatible way even!) but at the time Go was created it wasn't ready. Still, from what I remember there were some multicore ML that existed, and considering most of the work that went into Go was around the standard library and tooling, they could easily have made popular a different language. Some people will argue about "simplicity" and "Go being close to C", but I think that by "simplicity" most people mean "actually good tooling, GC'd, compile to a single binary fast".