Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Go and “simple tooling” don’t really belong in the same sentence. Powerful tooling, sure, but simple?


Would be helpful if you elaborate which part is not simple.

Coming from C++ and JavaScript, there aren't many languages that can claim to have "simpler" tooling than Go.


Things that are not simple about go tooling

- Comments as directives[0]. Nobody finds this intuitive. I've never met anyone that saw what directives were doing and thought to change a comment. - Comments as commands for the compiler[1] - The state of go linting[2]. There are 30 different formatting tools that all frequently conflict with each other. It got so complicated that one project exists to manage installations of all the other ones (golangci-lint). Only difficulty is that most IDEs use gofmt and if your golangci-lint uses a different gofmt version than your IDE, you end up getting different formatting when you save vs. when you commit. This is only a problem because golangci-lint can't be installed using the go toolchain[3], so you can't just have dependency resolution solve this for you.

I can go on

[0] - https://groups.google.com/g/golang-dev/c/r4rdPdsH1Fg/m/yjOOz... [1] - https://essentials-of-go-programming.readthedocs.io/tooling.... [2] - https://go.dev/wiki/CodeTools [3] - https://github.com/golangci/golangci-lint/issues/1657


The tools aren’t bad any more, but you do need a few liners to write safe code. But that’s the case for most languages




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: