why Unix?

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Wed Apr 8 13:36:28 PDT 2009


Steven Schveighoffer wrote:
> On Wed, 08 Apr 2009 06:38:53 -0400, Yigal Chripun <yigal100 at gmail.com> 
> wrote:
>> Windows has a different design than Unix's "everything is a file" 
>> which IMO is a stupid legacy design from the 70's.
> 
> The old "technology from the 70's" chestnut.

I hear the "everything is a file is obsolete" pickup line once in a 
while. I don't buy it. Clearly there are limitations, but equally 
clearly it's an extremely powerful paradigm. The sheer fact that other 
OSs failed, in spite of numerous attempts, to inch ahead of Unix, is 
very telling.

My perception of Windows APIs is that they force programmers to learn 
new ways of doing the same old things every five years. (I think it has 
a lot to do with marketing strategies.) There is improvement, but not 
nearly as marked at they'd want to make it, and the old technology just 
stays around, accumulates, and hardens like old lava on a volcano's slopes.

I wrote Windows programs professionally for about 10 years. Only during 
that period, the sanctioned way of brokering objects, accessing 
databases, or writing GUI applications has changed 3-4 times (each). 
ODBC, ADO, RDO, ..., CrapDO... remember? Then MFC, WTL, and now Windows 
Forms et al. Then OLE, ActiveX (what a Potemkin village!), DCOM, 
Transaction Server, and of course many I forgot.

At a company we were using MS Transaction Server. I went around and 
asked my bosses why. Nobody knew. I asked what features of it we need. 
Nobody knew, and they didn't knew even what the MTS was supposed to do. 
The fact the company had bought it was a pure marketing trick from MS' 
part. To continue the anecdote: my boss at the time woke up every 
morning, came in early, checked out the new code - from Visual Source 
Safe (another useless make-believe product that has never hold a candle 
to even the, um, obsolete cvs that uses equally obsolete text files), 
built it, deregistered each of a dozen objects from the graphical MTS 
console, and then registered each again. This was the only known way to 
make our updates work. The task could not be automated. The man wasn't a 
great programmer and to him coming in early and moving the mouse a few 
hundred yards a day was a great way of feeling useful. He was rather 
disquieted by my insistence that something is really flawed in our way 
of doing things.


Andrei



More information about the Digitalmars-d mailing list