Comment by christophilus

1 day ago

I don’t buy this at all. I picked up Go because it has fast compilation speed, produces static binaries, can build useful things without a ton of dependencies, is relatively easy to maintain, and has good tooling baked in. I think this is why it gained adoption vs Dart or whatever other corporate-backed languages I’m forgetting.

80% of what programmers write is API glue.

Go _excels_ at API glue. Get JSON as string, marshal it to a struct, apply business logic, send JSON to a different API.

Everything for that is built in to the standard library and by default performant up to levels where you really don't need to worry about it before your API glue SaaS is making actual money.

I tried out one project because of these attributes and then scrapped it fairly quickly in favor of rust. Not enough type safety, too much verbosity. Too much fucking "if err != nil".

The language sits in an awkward space between rust and python where one of them would almost always be a better choice.

But, google rose colored specs...

  • > Not enough type safety

    Sure? Depends on use case.

    > too much verbosity

    Doesn't meaningfully affect anything.

    > Too much fucking "if err != nil".

    A surface level concern.

    > The language sits in an awkward space between rust and python where one of them would almost always be a better choice.

    Rust doesn't have a GC so it's stuck to its systems programming niche. If you want the ergonomics of a GC, Rust is out.

    Python? Good, but slow, packaging is a joke, dynamic typing (didn't you mention type safety?), async instead of green threads, etc., etc.

    • >packaging is a joke

      You should see what package management was like for golang in the beginning "just pin a link to github". That was probably one of the most embarrassing technical faux pass ive ever seen.

      >dynamic typing

      Type hinting works very well in python and the option to not use it when prototyping is useful.

      >Rust doesn't have a GC so it's stuck to its systems programming niche.

      The lack of GC makes it faster than golang. It has a better type system also.

      If speed is really a concern, using golang doesnt make much sense.

  • I’m almost with you. If there was a language with a fast compiler, excellent tooling, a robust standard library, static binaries, and an F#-like type system, I’d never use anything else.

    Rust simply doesn’t cut it for me. I’m hoping Roc might become this, but I’m not holding my breath.