Would you rather implement POSIX over Win32 or Win32 over POSIX?
Would you rather implement POSIX over Win32 or Win32 over POSIX?
Countrary to Windows. You wouldn't believe the enormous amounts of stuff that Windows has, and apps rely on almost everything they can rely on. COM is huge. DCOM is huge. DirectX is huge. The list goes on and on.
Really, that's my answer. Win32 is Raymond Chen Land, Fear and Loathing With Backwards Compatibility. SimCity relied on internal details of how the kernel managed memory such that it reused memory it had already freed and they kept it working. MSFT modified the Windows kernel to avoid breaking it.
Torvalds is Chen-like in his adamance that the kernel can't break userspace, but Torvalds never had to deal with Windows 95 and the strange MS-DOS-derived world it inhabited. Linux never had to deal with 16-bit x86 code, so it was always able to keep its internals private, limiting the random stuff user programs could end up relying on. Win32 offers no such consolations.
I'd implement POSIX on top of Win32 any day to avoid the alternative, with the caveat that some things are flatly impossible and some things are possible but will never be efficient.