From mboxrd@z Thu Jan 1 00:00:00 1970 From: bakul@bitblocks.com (Bakul Shah) Date: Wed, 15 Nov 2017 10:40:35 -0800 Subject: [TUHS] basic tools / Universal Unix In-Reply-To: <20171115171226.935CD1F978@orac.inputplus.co.uk> References: <20171115140634.7D9A518C08C@mercury.lcs.mit.edu> <20171115171226.935CD1F978@orac.inputplus.co.uk> Message-ID: <04264EA4-7B79-4009-98CA-468949D776EF@bitblocks.com> On Nov 15, 2017, at 9:12 AM, Ralph Corderoy 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!