3 ms·
Agreed. I think creating maintainable code is for various reasons very difficult, and I have barely seen any projects that succeed, especially not commercial so
by mbrock 10y ago
Agreed. I think creating maintainable code is for various reasons very difficult, and I have barely seen any projects that succeed, especially not commercial software.
Based on my experience, I could say that unmaintainable software results from using Java, JavaScript, Ruby, shell, and so on... but I don't like to blame the languages.
Instead, I think it's simply that no language by itself can enforce properties that lead to maintainable software. For example, Java is very clean and simple, but that doesn't mean that typical Java code bases are clean or simple.
Programmers will eventually always find a way to introduce strange complexity, inappropriate metaphors, incomprehensible abstractions, befuddling reuse, overly clever tricks, etc.
If we really want to learn to make maintainable software, we should probably stop focusing on language features (and boring language wars) and think more about stuff like Eric Evans's concept of ubiquitous language... and, yeah, experiment with ways of writing clear code in whatever languages we use.