“Less is more” applied to software

It’s easy to get carried away by the latest fancy architectures or theories. It’s tempting because of the intellectual challenge, let aside those who like to see some attractive sentences on their professional curriculum.

Not that that all progress in software design shall be ignored, otherwise we would still be programming C in a CGI style, just to name an example.
Just that in many of those new approach there’s a lot of hype, and following Hegel, after the thesis, comes the antithesis. Just it’s not always easy to see the synthesis.

Time to look into some examples. Look at the early EJB architectures early 2000. The EJB 1.0 specs promised abstraction of the low-level transaction and state management details, resource pooling and so one would be taken care of by the application server. At the same time being portable between application servers according to the so-called write-once run anywhere principle.

Some have there value but other are a mere preparation for something that will never arrive.
Every component every layering should have a reason d’ĂȘtre.

Remove the fat in software, get lean.
No code duplication, but also avoid over-layering.

Software Zen, the beauty of clean software designs.

Comments are closed.