Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Note I said 'deprecated' and not 'abstracted'. Back in the days of the MFC, the WinAPI wasn't deprecated because, from what I've read, the MFC merely abstracted the WinAPI. There's a difference, for a deprecated API is one who's functionality has a newer slide-in replacement as opposed to a layer on top.

I ask in light of the direction Windows has taken. First, GDI objects were bypassed with WPF by using DirectX. Unless I've read misinformation, this means the Windows GUI could have been reimplemented in an API that doesn't need GDI underneath.

Then came Windows 8, announcing the move to HTML/JavaScript interfaces, which means DirectX isn't needed too. Ha. Of course it is, the IE engine running such interfaces probably uses hardware acceleration provided by DirectX these days. But GDI isn't needed right?

In fact, because GDI isn't needed anymore, doesn't that deprecate GDI, GDI+, MFC, and the various other templating libraries built on the GDI?

Now, contrary to common thought, it's known that Windows traditionally took backwards compatibility very seriously. But how long will they go before dropping GDI? How long until .NET's core libraries are rewritten to call the kernel and private low-level Windows routines directly for services without going through the WinAPI itself? After all, C# supports unsafe code, so the public WinAPI layer being bypassed isn't inconcievable even for the lower-level stuff.

I'm not talking about the C code being eliminated or anything like that. Just wondering if some of the public interfaces presented by Windows might not be available if MS deems them unneccessary in the future.

share|improve this question

closed as not constructive by Mark Trapp Jan 29 '12 at 20:58

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

Hi Louis, Stack Exchange is not in the business of predicting the future: the best people to ask how long their deprecation periods last is Microsoft. – user8 Jan 29 '12 at 20:58
Mark Trapp, this was a very reasonable question and a discussion would makes sense and you can logical deduct the validity of business decisions (like API lifetime). Stackoverflow and partner sites are really getting a problem close/delete nazis like you. Stackexchange is about discussion. – Lothar Mar 21 '12 at 12:36
up vote 7 down vote accepted

Microsoft (almost) never deprecate core API functionality.

And new major libraries almost never get rewritten. There is too much risk of breaking something for no obvious benefit at great expense

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.