This is getting a little far afield from Unix history, it's Windows history, but for similar reasons MS had to make a huge investment in game technology. Gaming under DOS was already huge by the time Windows 95 came out, and without proper support for games on Windows it would be hard to get a lot of people to leave DOS behind. Game developers were wedded to the idea of the complete control they had over the machine under DOS. Many were using DOS extenders to break the 640k limit - basically a small operating system linked into the game that let them access memory over the 1M line. Hence the Games SDK, later known as DirectX, and some relatively infamous industry events to court game developers to start porting their games to Windows.

On Sun, Oct 22, 2023 at 10:45 AM Paul Winalski <paul.winalski@gmail.com> wrote:
On 10/21/23, Paul Ruizendaal <pnr@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.