4 ms·
I have the perception that Go is more optimized for meeting organizational needs than programmer needs: it's simplicity and limited abstraction make it more dif
by skohan 7y ago
I have the perception that Go is more optimized for meeting organizational needs than programmer needs: it's simplicity and limited abstraction make it more difficult to write complex, serpentine code which is difficult to understand without a deep knowledge of the codebases.
For an experienced developer that might feel a bit like handcuffs: like you have to write more redundant code and handle things at a more literal level than you could get away with in other languages.
However, it tends to result in a codebase that's more resilient to turnover: if someone new joins the team there's going to be less specific understanding about the inner workings of the codebase they need to sit down and understand what they're looking at. It also limits the damage a mediocre developer can do through overuse of bad abstractions.
- AnimalMuppet 7y agoI agree with your last paragraph. However, I assert that the virtues you name there are in fact more for meeting organizational needs than programmer needs. And that's fine. As a software system gets bigger, the organizational issues come to outweigh the programming ones.
- skohan 7y agoI think we are in agreement. My assertion is exactly that Go favors organizational needs over programmer needs, and the examples I gave are evidence of that. I'm not making a value judgement over whether that priority is a good or a bad thing, just an observation about the nature of Go.