Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Would it be possible for Microsoft to phase out the Win32 API in future versions?

I like to use Win32, even in the age of .Net, MFC and touch. My co-worker said to me that it might not be possible to use the Win32 API in future versions of Windows (After Windows 9 ), because Microsoft might deprecate it.

However, this seems impossible to me, because windows itself uses so much of that API. If they got rid of the low level Win32 C library, the operating system would itself stop working, and they would have to recode a great portion of the Operating System (Not to mention all the code that would be broken).

Anyway, I don't know much about this stuff, does anyone have any technical understanding on if this is impossible or not?

Also, note that I'm not asking if windows will deprecate the low level API in the future, I know that's speculative. My specific question regards how feasible it would be for Microsoft to do this, assuming they wanted to.

like image 393
Eric Vi4ing Avatar asked Jul 20 '12 06:07

Eric Vi4ing


1 Answers

It would be technically possible, but only if they wanted to lose all of their market share. A lot of internal LOB of apps are coded against the Windows API (Even .Net sits on top of it, but is not strictly dependent on it, as shown by Mono). WinRT, the Next Big Thing in Windows 8 is built on top of the Windows API

Win32 (which is the Windows API itself, along with all the other various parts) is a subsystem built on top of the NT Kernel. I imagine it would be possible to make a version of the kernel where that is disabled (I'm rather sure the OS/2 subsystem is no longer there, the POSIX layer is though, as the userland for that is installable). A picture from Wiki to illustrate what I'm talking about:

enter image description here

I don't see any reason why it wouldn't be possible to implement the .Net runtime or WinRT as a subsystem. However, the amount of work that would be probably doesn't make sense, as they would have to re-implement a lot of what's in Win32 (That's probably the reason why, in the 20 years the NT kernel has existed, only these three subsystems have been released). For the scope of what they would need to re-implement, you can look here: http://en.wikipedia.org/wiki/Win32 It pretty much includes from Winsock to DirectX.

But, even if they were to implement newer kernel subsystems, the first release without the Windows API would be bought by no one, as none of their old apps would run (Even if they implemented the new subsystems, then a few versions later, remove the Windows API, there would still be apps depending on it, and would break in the next version, causing horrible press, and then no one would buy it. Look at what happened to Vista.

like image 93
Matt Sieker Avatar answered Nov 16 '22 02:11

Matt Sieker