Hacker News new | ask | show | jobs
by narrator 3120 days ago
One interesting thing about software methodology that most people seem to like, such as testing and version control is that it prevents bad coders from screwing up a project too badly.

I also think that languages like Java have become popular in big enterprises filled with lots of coders because the language makes it hard to write difficult to maintain code by doing away with any features that would make it easy to obfuscate the intentions of code. This concern also had a big influence on the design of Go and all the features it left out.

The upshot of these coding methodologies that stood the test of time is that they protect the project from bad coders and they prevent really smart people from writing code that is too clever such that noone else can maintain it.

2 comments

Instead the really smart people write abstraction upon abstraction until they can achieve the level of cleverness they wanted in the first place. I'm not sure all that extra code is really that much better.
> One interesting thing about software methodology that most people seem to like, such as testing and version control is that it prevents bad coders from screwing up a project too badly.

Effectively, these methodologies are a kind of bureaucracy. Besides self- propagation, the primary purpose of bureaucracy is to cover for incompetence. So testing and version control are (in part) a way to cover for incompetent coders.