Tuesday, December 09, 2003

WinFX newsgroup post 2

More responses from different message board...

Response 1

Well as the article seems to suggest, Win32 will still be there for backwards compatibility, it is not going anywhere anytime soon. So, as a result, Java should work exactly the same way it does now (although I assume it will be updated) because the current functionality isn't going away. Same with C++.

Response2

Yup - all the old Win32 APIs will carry on working.

But C++ developers have a choice. They can write unmanaged applications just like they always have, using the Win32 APIs. Or they can write managed applications using the managed extensions to C++, in which case they can use all the new APIs. Or, unlike any other language, they can use both! You could write a C++ application that uses Avalon and ::ReadFileEx. (Although I'd rather use FileStream...)

Of course the downside of unmanaged and mixed-mode C++ applications is that they will require the permissions to execute unmanaged code. With the increased tightening of security on Windows this is something you'll want to avoid in future. Especially with Longhorn's SEE (Secure Execution Environment) and also with the ClickOnce deployment available with both Whidbey and Longhorn.

So although C++ developers will always have the option to use either, there will be benefits to confining themselves to pure managed verifiable code. (I.e. writing code that only does what safe C# could also do.)

No comments: