[Top] [All Lists]

Re: [ontolog-forum] How not to write specifications

To: "[ontolog-forum]" <ontolog-forum@xxxxxxxxxxxxxxxx>
From: Ed Barkmeyer <edbark@xxxxxxxx>
Date: Tue, 01 Jul 2008 12:19:31 -0400
Message-id: <486A5913.7050306@xxxxxxxx>
John F. Sowa wrote:
> In response to legal requirements by various governments and the EU,
> Microsoft has released a massive dump of protocols, binary file
> formats, and other specifications ...
> That's the good news.  The bad news is that people who have looked
> at this dump have summarized the results in one pithy observation:
>     In order to understand any of it, you must understand *all* of it.
> ...
> What makes Apple's OS X more intelligible, efficient, and robust
> than Vista is the fundamental principle at the core of Unix from
> day 1:  modularity.    (01)

I think closer inspection would reveal multiple "evils" at work in the 
Microsoft operating system software.    (02)

(1) a general lack of design principles in MS Windows in the 1990-95 
period.  Bill Gates even said that he chose a team with a general lack 
of systems engineering experience that might interfere with their 
inventiveness.    (03)

(2) a poor hardware base.  The original Windows was built for a 1968 
hardware architecture, as implemented in a 1974 design. The Windows 
designers built a simulated silk purse on a sow's ear platform.  (The 
Apple guys had the benefit of a 1980 hardware architecture.)  When Intel 
finally built a 1980 hardware architecture in 1994, Windows 95 was 
hacked to take advantage of it.  (And a new operating system project -- 
Windows NT -- was created.)    (04)

(3) upward compatibility requirements.  Windows '95 thru Windows 2000 
were upward compatible with earlier Windows, to allow all the products 
that had worked around earlier Windows systems to continue functioning. 
  This meant that later versions, based on competent hardware and 
managed by competent software engineers, had to be coded around original 
bad designs, and around ugly designs that had been created by hardware 
necessity.  They were trying to build a straight house on a crooked 
foundation.    (05)

(4) all things to all men.  The Windows target market was businesses, 
control systems, gamers and hobbyists, and grandmothers.  Windows XP was 
an integration of the separately designed Windows NT multiprogramming 
system (based on the design of VAX VMS and specifically written for the 
Pentium), an upgraded Windows file system, a new graphics management 
model, a new communications model, and a new security model, and of 
course, a few upward compatibility features.  Unfortunately, it also 
became a patchwork, because too many new features were introduced at the 
same time, and there were unanticipated interactions.  (And it may have 
been rushed to market; I don't know how much of a threat there was -- 
see (5).)    (06)

(5) external pressure.  Vista is a hack on Windows XP whose primary 
objective was to lock down security before certain powerful 
organizations declared Windows operating systems too dangerous for use 
by their personnel and/or their contractors.  And they had an 
alternative in Linux.  So, many vulnerable elements of the system were 
simultaneously hacked and a few were re-engineered, with all kinds of 
accidental interactions and ad hoc fixes.    (07)

A similar history plagued the design of communications software in 
Windows (half inside and half outside): weak hardware, upward 
compatibility with OLE then COM then DCOM then ActiveX and finally .net. 
  Other MS products were perpetually inventing new COM/ActiveX features 
to enable their own intercommunication designs.  The problem was a 
failure to design a single competent interprocess communication model 
and enforce discipline on its in-house users.  (But such a discipline 
would have prevented them from modifying the system to allow them to 
one-up competing applications, too.)    (08)

So the current state of affairs is not really surprising.  After the 
original "design" by tinkerers, the only software engineers in that 
whole sad history who had the luxury of producing a new modular design 
were the Windows/NT folk.  To some extent this is the price of success.    (09)

IMO (my favorite soapbox), it is to a greater extent a direct 
consequence of the adage attributed to H.L.Mencken:
  No one ever went broke underestimating the taste of the American public.
As long as businesses worldwide are willing to pay good money for 
unreliable equipment, there is no incentive to build quality.    (010)

And OBTW, the saga of Windows is a nearly one-for-one repeat of the 
sequence of mistakes IBM made in designing operating systems for the 
360/370 series between 1964 and 1976.  And the behavior of the business 
community matched.  George Santayana was right.    (011)

-Ed    (012)

Edward J. Barkmeyer                        Email: edbark@xxxxxxxx
National Institute of Standards & Technology
Manufacturing Systems Integration Division
100 Bureau Drive, Stop 8263                Tel: +1 301-975-3528
Gaithersburg, MD 20899-8263                FAX: +1 301-975-4694    (013)

"The opinions expressed above do not reflect consensus of NIST,
  and have not been reviewed by any Government authority."    (014)

Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/  
Subscribe/Config: http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/  
Unsubscribe: mailto:ontolog-forum-leave@xxxxxxxxxxxxxxxx
Shared Files: http://ontolog.cim3.net/file/
Community Wiki: http://ontolog.cim3.net/wiki/ 
To Post: mailto:ontolog-forum@xxxxxxxxxxxxxxxx    (015)

<Prev in Thread] Current Thread [Next in Thread>