top | item 23934566

(no title)

opqpo | 5 years ago

Accessing nil pointers is well thought out. Not enforcing error checking is well thought out. Reflection and code generators instead of generics and traits is well thought out. Lack of conditional compilation is well thought out. No compilation with unused variables instead of warnings is well thought out. Doing your own sort, map, all essential array operations from scratch everytime is well thought out. Spamming err != nil instead of some operator like `?` is well thought out. iota instead of type-safe Enums is well thought out. No file-scope variables is well thought out. go mod is well thought out compared to npm and cargo.

discuss

order

leetrout|5 years ago

Go doesn’t have to be bad for all those things you like in Scala/Rust/etc to be true.

It’s a simple language with simple, explicit, verbose, tedious, pedantic patterns. The communication resulting from those patterns is where the value lies for a lot of developers and teams.

jimktrains2|5 years ago

Before using it I thought the if err != Nil would be annoying, but it actually isn't. I think a sum type would be better, but the pattern is common and honestly not very different from a match on a sum type.

In general I agree that it does lead to code that's more familiar even if it was written by someone else. Having only used it a few months now, I can definitely see where the value in go lies.

hu3|5 years ago

If you allow me an advice, I'd rather not waste precious time with trolls. That user has multiple flagged messages in this month alone.

opqpo|5 years ago

Mediocrity, ugliness and verbosity is more well thought out than engineering.