On Sun, Jun 17, 2018 at 1:33 PM, Theodore Y. Ts'o <tytso(a)mit.edu> wrote:
On Sat, Jun 16, 2018 at 09:37:16AM -0400, Noel Chiappa
wrote:
I can't speak to the motivations of everyone
who repeats these stories,
but my
professional career has been littered with
examples of poor vision from
technical colleagues (some of whom should have known better), against
which I
(in my role as an architect, which is necessarily
somewhere where
long-range
thinking is - or should be - a requirement) have
struggled again and
again -
sometimes successfully, more often, not....
Examples of poor vision are legion - and more importantly, often/usually
seen
to be such _at the time_ by some people - who
were not listened to.
To be fair, it's really easy to be wise to after the fact. Let's
start with Unix; Unix is very bare-bones, when other OS architects
wanted to add lots of features that were spurned for simplicity's
sake.
Amen brother. I refer to this as figuring out and understanding what
matters and what is really just window dressing. That is much easier to
do after the fact and for those of us that lived UNIX, we spent a lot of
time defending it. Many of the 'attacks' were from systems like VMS and
RSX that were thought to be more 'complete' or 'professional.'
Or we could compare X.500 versus LDAP, and X.400 and
SMTP.
Hmmm. I'll accept X.500, but SMTP I always said was hardly 'simple'
-
although compared to what it replaced (FTPing files and remote execution)
is was.
It's easy to mock decisions that weren't forward-thinking enough; but
it's also really easy to mock failed protocols and designs that
collapsed of their own weight because architects added too much "maybe
it will be useful in the future".
+1
...
Adding a database into the kernel and making it a
fundamental part of the file system? OK, stupid? How about adding
all sorts of complexity in VMS and network protocols to support
record-oriented files?
tjt once put it well: 'It's not so bad that RMS has 250-1000 options,
but
some has to check for each them on every IO.'
Sometimes having architects being successful to add their "vision" to
a product can be worst thing that ever happened to a operating sytsem
or, say, the entire OSI networking protocol suite.
I'll always describe it as having 'good taste.' And part of
'good taste'
is learning what really works and what really does not. BTW: having good
taste in one thing does necessarily give you license in another area. And
I think that is a common issues. "Hey were were successfully here, we
must be genius..." Much of DEC's SW as good, but not all of it as an
example. Or to pick on my own BSD expereince, sendmail is a great example
of something that solved a problem we had, but boy do I wish Eric had not
screwed the SMTP Daemon into it ....
So, is poor vision common? All too common.
Definitely. The problem is it's hard to figure out in advance which
is poor vision versus brilliant engineering to cut down the design so
that it is "as simple as possible", but nevertheless, "as complex as
necessary".
Exactly... or as was said before: *as simple as possible, but not
simpler.*
* *But I like to add that understanding 'possible' is different from 'it
works.'* *
ᐧ