3 ms·
>But the problem is the design and not the philosophy. If the philosophy prescribes dozens of tools for managing complexity and no tools at all for reducing it
by romaniv 8y ago
>But the problem is the design and not the philosophy.
If the philosophy prescribes dozens of tools for managing complexity and no tools at all for reducing it than it is the problem.
"Abstractions, decoupling, and modularization of logic/responsibilty" are not some kind of universal good. They are only useful within specific contexts. A lot of software engineers do not understand this and routinely engage in premature abstraction. As a result they produce systems that are 10 times more complicated than they need to be for absolutely no reason.
Java definitely encourages this kind of mentality, because the language itself and its standard library lack in some fundamental areas. Introduction of lambdas and streams helped, a lot, but the overall mentality is still well-entrenched.