The proverb ‘owning a hammer doesn’t make one an architect’ is especially true with respect to object technology. Knowing an object-oriented language (such as Java) is a necessary but insufficient first step to create object systems. Knowing how to ‘think in objects’ is critical!
Craig Larman. (Applying UML and Patterns)
There are two ways of constructing a software design:
- One way is to make it so simple that there are obviously no deficiencies
- And the other way is to make it so complicated that there are no obvious deficiencies.
C. A. R. Hoare
…a lot of accidental complexity that was caused by low-level programming languages has disappeared, but unfortunately the industry overshot the target and now accidental complexity is caused by ever more elaborate frameworks and products that over-abstract problems, causing development teams again to wrangle with complexity that has nothing to do with the actual business problem.