On 10/21/23, Paul Ruizendaal <pnr(a)planet.nl> wrote:
An interesting set of videos indeed, although I wish they were not all
chopped up in 5 minute segments.
I consistently hear from folks the same about
Bill Gates pushing for
volume over anything else with Xenix.
That was his business model.
Exactly. Microsoft was all about volume. They were willing to leave
niche markets to third-party software vendors. Back in the 1990s,
when Microsoft flirted with the idea of selling Windows NT on DEC
Alpha and IBM's PowerPC Microsoft sold its Visual Fortran technology
to DEC, who sold it as Digital Visual Fortran (later to be Compaq
Visual Fortran). The market for Fortran compilers was too small for
MS.
Probably that same dynamic was in play for the CLI of
Windows NT. Moreover,
as you already point out, by the time of NT there were tens of millions of
users of DOS, and numerous books, magazines, etc. explaining it. Throwing
away that familiarity for unclear benefits (in the eyes of those users)
would serve no business purpose. In a way it is the same dynamic that kept
C89 and Bash in place for so long: people know it, it is good enough and it
works everywhere.
Upward command line compatibility from DOS and Win16 was essential for
NT's acceptance in both the user and developer communities. Windows
NT was a bit of a hard sell to application developers at first. It
had a lot of advantages over Win16 (32-bit address space; true
multitasking), but that came at the price of loss of control. Under
DOS, the OS handed over complete control of hte hardware to your
application and you could do whatever you wanted to, as long as you
left things in a reasonable state when you returned control to the OS.
Things were more disciplined under Win16, but it was common practice
for applications to put hooks into the Win16 code. With NT, the OS
was protected against tampering by non-privileged code. You had the
Win32 API to work with and that's it--no hooks in the OS or other
jiggery-pokery. Some application developers--both inside and outside
of Microsoft--balked at that.
I recall hearing that the DOS command line interface was patterned
after the OS/8 CLI on the PDP-8, which used forward-slash (/) for
command switches. That's why, when they decided to adopt the Unix
conventions for directories in file pathnames, they had to use
backslash (\) as the directory delimiter.
-Paul W.