You have now idea how bad, inelegant and even technologically behind the Window's was back then. They exploited their monopoly power to the max.
Microsoft hated and did not care about the internet protocols. They pushed NetBEUI instead. Early Windows socket API was crap and unreliable compared to BSD sockets. and Netscape and web apps provided major service for abstracted that shit away. I think Intel engineers had basically rewrite the TCP/IP stack for MS at some point.
Today people see X Window System as outdated, but at the time it was simpler, better and more robust than Windows. We actually bought number of gigantic but old dummy graycolor X window terminals and connected it to old 386 Linux server we used as a development machine and it was a great experience compared to anything Windows.
I was working in a small company that did mostly stuff for Unix (and linux) but unlike PG and Viaweb we decided to develop complex IDE to Windows and it had to work everywhere in the world. It was just horrible programming experience.
How do you install software across a fleet of dozens of Windows machines? There are solutions, but they are embarrassingly poor in comparison to what's available on other systems. Salt, Ansible, et al have added half-hearted Windows support over the years, but it's pretty shallow. SCCM is a massive can of worms and very easy to FUBAR.
MS's mental model of "update systems by performing clicks 1, 2, 3, and 4" is just fundamentally limited, as compared to the text-based *nix model. Even MS has been forced to come to terms with it, which is why they're finally adding real pty support, etc.
Read the Unix Programming Environment to see the exact opposite mindset for OS design.
https://en.wikipedia.org/wiki/Component_Object_Model
.NET did not appear until much later.
- C++ ABIs that changed on every compiler update but still had to work.
-Support for C and Assembly which had no OO support at all.
-Liteweight enough to run on a computer with 8MB of RAM total.
Given these constraints it's unlikely you would do any better.
Creating a "solution" (who came up with that word?) is absolutely horrible compared to just opening a file in vi/emacs.
There does not appear to be a command line debugger -- while the debugger is good, graphical debuggers are a pain to use.