On Nov 15, 2017, at 9:12 AM, Ralph Corderoy <ralph(a)inputplus.co.uk> wrote:
Hi Noel,
I've often tried to understand why some
people create these incredibly
complicated systems. (Looking at the voluminous LISP Machine manual set from
Symbolics particularly caused this train of thought...) I think it's because
they are too smart - they can remember all that stuff.
But smart people don't have to create complex stuff, see Unix. :-)
Perhaps it's not because these designers of complexity have good recall,
but a mixture of the Brooks's Second-System Effect,
http://www.catb.org/jargon/html/S/second-system-effect.html
and not being constrained.
There are two kinds of smarts: people who can remember (and
even delight in learning) a lot of complex details and add
to it, and people who don't like to (or can't) remember a
lot of complex details and try to remove complexity. I think
both are needed. You don't want the first kind to design a
system and you don't want the second kind to maintain a
system.
But over time software complexity creeps in like disorder.
You have to constantly try to keep things neat but often
(you feel) you don't have time for it. "Technical debt" is
basically the result of procrastination!