Going from 16 bit to 32 bit happened after apps had already outgrown 16 bit memory
models. 16 bit memory space was only 64k. Segments were a pain to use even in 640k
memory space. We had EMS, EEMS, and other things to take us beyond those boundaries.
The 80286 processor took us only to 16 Megs and that just further overstretched
The switch from DOS to Win3.x was compelling because it brought in GUI APIs. The
shift to Win32 was compelling because finally a full GUI OS could be created using
the bigger address space needed.
But look at where we are today. The shift to 64 bits is not compelling because most
of us are still running apps that are smaller than 1 gig and most apps are much
smaller than that. Microsoft is NOT rushing to bring out a Win64 OS because they
Similarly, faster processors are less compelling than they used to be. At some point
in the mid to late 1990s PCs became fast enough for what most people use them for
most of the time. For business apps processors have become so adequate that Intel and
AMD now aim faster processor speed improvements at home buyers. Lucky for us
processors are now fast enough for most purposes since Moore's Law appears to be
running out of steam.
At the same time, .NET has advantages. But the size of those advantages over Win32 is
smaller than were the advantages in Win32 versus Win16. Also, .NET is not a pure
advantage proposition. It has disadvantages. For some classes of apps .NET doesn't
offer any advantages while the increase in memory and processor requirements are
There are decades old mainframe programs still out there doing lots of useful work
and getting enhanced. There are Unix programs that are decades old that are being
used as well. Ditto for programs for other API sets. Vendors know that there is a
large price to be paid for breaking old API sets. It happens when vendors go bankrupt
or become too small of players in a market to continue to get enough revenue to
support maintenance of some API set. But Microsoft is so far away from being in that
position it is obvious they have no incentive to break Win32.