Subject: [IP] more on Microsoft and software engineering
Begin forwarded message:
From: Bob Frankston <Bob2email@example.com> Date: September 23, 2005 6:50:15 PM EDT To: firstname.lastname@example.org, 'Ip Ip' <email@example.com> Cc: "Steven M. Bellovin" <firstname.lastname@example.org> Subject: RE: [IP] Microsoft and software engineering
While starting over would be a good idea the implication is that we now need to grow up and design the system as a whole and that would be a disaster.
The problem is not in having separate pieces of code -- the problem is
"stitching" as the assembly technique. We must redesign our systems more
like the Internet as a set of cooperating elements that trust each other as
appropriate and are suspicious as appropriate where the word "appropriate"
is a research topic and ultimately ambiguous.
The idea of installing a program is a legacy from when we had to
essentially compile each program to order to make sure it could fit within
tight resource constraints. I'm afraid to upgrade my system because it can
take a month or much longer to get my environment restitched.
.Net actually has elements that operate independent of the containing environment but making such compositing too available would threaten Microsoft's control. It's the same problem the phone companies face when their business is based on controlling a platform or other essential elements.
I sent a letter to the editor of Spectrum (I can forward it to the list
there's interest -- I don't really expect them to publish it) in response
their recent issue that argued that we need to do "real" engineering for
software. Real engineering is the 1960's notion that you carefully design
every element of the system and then hand it off to coders. No surprise
that the silly idea of proving programs correct also resurfaced -- it's a
silly idea since there is no unambiguous closed definition of correct.
Along these lines I posted http://www.frankston.com/?name=SATNUSBNo arguing
that USB and other dependent buses should be replaced by networks.
The whole idea of a desktop mainframe is passé ... we need small programmable devices that communicate but all we get are smart-assed telephones.
-----Original Message----- From: David Farber [mailto:email@example.com] Sent: Friday, September 23, 2005 18:11 To: Ip Ip Subject: [IP] Microsoft and software engineering
Begin forwarded message:
From: "Steven M. Bellovin" <firstname.lastname@example.org> Date: September 23, 2005 5:57:22 PM EDT To: email@example.com Subject: Microsoft and software engineering
The news got even worse: Longhorn was irredeemable because Microsoft engineers were building it just as they had always built software. Throughout its history, Microsoft had let thousands of programmers each produce their own piece of computer code, then stitched it together into one sprawling program. Now, Mr. Allchin argued, the jig was up. Microsoft needed to start over.
The rationale within the company was classic; so were the consequences.
But as personal computers took off in the 1980s, companies like Microsoft didn't have time for that. PC users wanted cool and useful features quickly. They tolerated -- or didn't notice -- the bugs riddling the software. Problems could always be patched over. With each patch and enhancement, it became harder to strap new features onto the software since new code could affect everything else in unpredictable ways.
Some people, such as Jim Allchin, realized this all along, but couldn't get any traction to change it. The article indicates that Gates didn't understand the scope of the problem. Furthermore, and not surprisingly, there was a lot of resistance from the progammers who enjoyed the lack of structure. Apparently, though, now that some of the new techniques and tools are starting to show their worth, people are starting to accept them.
I can't vouch for the accuracy of the article; I have no idea how things are done inside Microsoft. It is very clear to me, though, that if matters were as described, no one with any background in software engineering should be even slightly surprised by the state of Windows.
--Steven M. Bellovin, http://www.cs.columbia.edu/~smb
Archives at: http://www.interesting-people.org/archives/interesting- people/
------------------------------------- You are subscribed as firstname.lastname@example.org To manage your subscription, go to http://v2.listbox.com/member/?listname=ip
Archives at: http://www.interesting-people.org/archives/interesting-people/
Powered by eList eXpress LLC