It’s an investment, remember
It’s an investment, remember
You can, if you want, opt into warnings causing your build to fail. This is commonly done in larger projects. If your merge request builds with warnings, it does not get merged.
In other words, it’s not a bad idea to want to flag unused variables and prevent them from ending up in source control. It’s a bad idea for the compiler to also pretend it’s a linter, and for this behaviour to be forced on, which ironically breaks the Unix philosophy principle of doing one thing and doing it well.
Mind you, this is an extremely minor pain point, but frankly this is like most Go design choices wherein the idea isn’t bad, but there exists a much better way to solve the problem.
If only there was some way the compiler could detect unused variable declarations, and may be emit some sort of “warning”, which would be sort of like an “error”, but wouldn’t cause the build to fail, and could be treated as an error in CI pipelines
I remember reading something about the size of Kanji in comparison to the alphabet, and someone brought up that while (eg) Japanese has something like a little over 100 syllables you have to learn to pronounce, English has over two thousand
DRY means Do Repeat Yourself, when the alternative is cooking up some awful OOP abstraction