Philosophical musings: interpreting models
Thu, 16 Sep 1999 11:37:16 -0400

>> Straightjackets are necessary for people who don't think well.  Operating
>> systems are complex and require careful thought.  People who require
>> straightjackets therefore do not build operating systems well, regardless of
>> presence or absence of straightjackets.
>I completely disagree.  As you say, operating systems (or almost any
>software system) are complex... so we need all the help we can get!

In making my point I spoke too strongly.  We certainly need assistive features.
Languages that provide high-level features are potentially helpful.  Languages
that *mandate* the use of these features are not -- that is what I meant by the

Though I must add a personal observation based on over 10 years of production
kernel work: good kernels are an end-to-end problem, and anything -- including
language features -- that obscures the behavior on the machine is a problem.  At
the limit, there is a small amount of code that is always written in assembler
(though many have used C as their assembler).

Jonathan S. Shapiro, Ph. D.
IBM T.J. Watson Research Center
Phone: +1 914 784 7085  (Tieline: 863)
Fax: +1 914 784 7595