From: Steven M. Bellovin [mailto:smb(_at_)cs(_dot_)columbia(_dot_)edu]
Having had Tony Hoare as my college tutor at Oxford I have
experienced
a particularly uncompromising approach to complexity. However the
point Hoare makes repeatedly is as simple as possible but
no simpler.
Hoare has been a great influence on my thinking, too. I
particularly recall his Turing Award lecture, where he noted:
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. The first method is far more difficult.
(In that same lecture, he warned of security issues from not
checking array bounds at run-time, but that's a separate rant.)
I think it is a useful illustration of my point.
Dennis Ritchie:
Bounds checking is too complex to put in the runtime library.
Tony Hoare:
Bounds checking is too complex to attempt to perform by hand.
I think that time has proved Hoare and Algol 60 right on this point. It is much
better to have a single point of control in a system and a single place where
checking can take place than make it the responsibility of the programer to
hand code checking throughout their code.
Equally the idea of unifying control and discovery information in the DNS may
sound complex but the result has the potential to be considerably simpler than
the numerous ad hoc management schemes that have grown up as a result of the
lack of a coherent infrastructure.
_______________________________________________
Ietf mailing list
Ietf(_at_)ietf(_dot_)org
https://www1.ietf.org/mailman/listinfo/ietf