3 ms·
Mixed feelings about go. - I dislike the verbosity of the error checking; rust’s ? Operator did it 100x better. With go, if some function deep in the call stac
by anthlax 4y ago
Mixed feelings about go.
- I dislike the verbosity of the error checking; rust’s ? Operator did it 100x better. With go, if some function deep in the call stack might return err, every single point in the call stack above it has to check “if err != nil”. I understand the point of this; unchecked exceptions are very bad, but some syntactic sugar could go a long way here.
- I dislike in general code generation. This isn’t a Go thing, this is a “any language but rust” thing: macros are just _so good_. I don’t have to keep a code generator daemon running in the background, and I don’t have to worry about running a code generation step in CI.
- I dislike implicit interface adherence: this makes it so hard for me to navigate code bases. For instance, If I take a Foo interface, I just have to guess at where all the Foo implementers are?
Those are just a couple of my qualms. In general, though, I do reach towards Go for projects that I know aren’t going to hit massive scale (scale as in “need 10 developers supporting it”), and it hits the sweet spot for me that’s between prototyping in python and enterprise in Java / Rust.
- peterashford 4y agoHave to agree about the implicit interfaces - I have a large codebase to deal with and I end up doing text searches through it to find implementations of a interface. This is not ok in 2022. The error handling is poor, as well.