la la land
John Chambers
jc at trillian.mit.edu
Fri Jan 19 13:18:35 EST 2001
Seth writes:
| On Windows NT, if you try to delete or rename a file that's already
| open, you get a "sharing violation" error ...
...
| (Was there some intelligent technical trade-off behind the choice to
| run NT like this, or is it one of those legacies of DOS that can't be
| worked around, or what? They guy they hired to run the NT project in
| the beginning, if memory serves, was one of the big developers of VMS,
| so I would expect a certain level of clue from him....)
The most straightforward explanation, as with other OSs, is that it's
simply a case of an independent development line whose designers
couldn't be bothered to study other systems or learn any of the
history of software engineering. The "Not Invented Here" syndrome has
been clearly active in the history of the Microsoft OSs. They weren't
about to learn why those unix nerds did things in the strange ways
they did.
The fact that NT's designers came out of VMS, which has the same
Multics ancestry as unix, is true but probably irrelevant. The recent
description of unix's file-linking scheme as "strange" is an example
of how even experienced unix users and programmers don't always
understand the reasons behind the design. The unix fork+exec scheme
is another. It usually takes quite a lot of experience to understand
why these are Good Ideas, and designers without that experience are
likely to design things in a more obvious way. Unix's file linking
scheme, and the fork/exec scheme, actually came out of Multics, and
it took quite a lot of experimenting to come up with these elegant
solutions to problems. The ejection of things like file formats and
command languages from the OS kernel are other examples of subtle but
correct designs that are counterintuitive to all but the most
experienced software engineers.
The gang at Bell Labs understood the design of Multics, and picked a
lot of the best-known (at the time) solutions to problems for their
little stripped-down system. It is sorta disappointing that 30 years
later, we still have OSs that implement inferior or non-solutions to
the same problems.
It's probably overly paranoid to think that the DOS/Windows/NT chain
were intentionally designed to violate what was known about good OS
design at the time. They were just in their own world, and not about
to learn from "legacy" systems, because they were brilliant people
with their own brilliant ideas of how to do it right. So they made
the same mistakes, and haven't yet stumbled across the solutions that
the Multics people discovered back in the 1960's.
Who was it that first said "Never attribute to malice that which may
be adequately explained by ignorance (or stupidity)"? I've seen this
attributed to any number of people (all of whom probably did say it).
-
Subcription/unsubscription/info requests: send e-mail with
"subscribe", "unsubscribe", or "info" on the first line of the
message body to discuss-request at blu.org (Subject line is ignored).
More information about the Discuss
mailing list