Windows vs. Linux

Alex Martelli aleax at mac.com
Wed Aug 2 11:41:44 EDT 2006


Gerhard Fiedler <gelists at gmail.com> wrote:
   ...

a few fine points of computing history...:

> >> (URLs probably use the slash because the internet protocols have been
> >> developed largely on Unix-type systems for use with Unix-type systems?)
> > 
> > It wasn't designed specifically for Unix-type systems, but for universal
> > access.
> 
> Right... the URI/URL syntax was formalized in the early 90ies, when

The internet *protocols* were typically developed on non-Unix systems --
that's why each line in text-based protocols must be terminated by
\r+\n, not just \n.  The WWW, as you mention, came later (and I believe
it was born on a NEXT cube, i.e., a unix-variant).

> > My point also was that a lot of programming languages use the backslash
> > as escape character. This has been true at least since the sixties. I
> > think it's a bad design choice from the Microsoft team to pick this
> > escape character as a path separator. 
> 
> Maybe... have you been involved in the decision? Or do you know what the
> reasons were? Do you know whether it was even Microsoft's choice?
> (Remember, they wrote DOS for IBM. And there was nobody who had foreseen
> the PC explosion.) 

Microsoft did *NOT* write DOS -- they purchased it from a small Seattle
company, which called it QDOS (Quick and Dirty OS) and had hacked it up
"in desperation" because CP/M did not run on intel 8086 CPUs, so the
small company's main business, selling 8086 boards, languished.  QDOS
was as compatible with CP/M as said small company could make it (rumor
has it that big parts were disassembled from CP/M and reassembled to run
on 8086 rather than 8080).  Part of the CP/M compatibility did include
the use of / as flag-indicator (the use of \r+\n as line ending also
comes from CP/M -- in turn, CP/M had aped these traits from some DEC
minicomputer operating systems).

When MS did write an OS -- DOS 2.0, which introduced a directory tree --
they did put in the OS an undocumented switch to make - the
flag-indicator and / the path separator, rather than / and \
respectively.  However it was never documented and it got removed in
later versions, perhaps because applications coded to the /-and-\
convention could break if the switch was thrown.

> Did you know that most DOS versions accept the / as path separator? That
> DOS was written on Xenix (Posix) systems (using the slash as path
> separator)? That Microsoft was for a long time pretty much a pure Xenix
> shop?

Internally yes (indeed, they developed Xenix, before later selling it to
SCO), but that does not mean that "DOS was written on Xenix" because DOS
was *not* written in Microsoft, as above mentioned.


Alex



More information about the Python-list mailing list