We don't need these C#-like extensions to access COM objects in C++. In C++ we always write more code than in C#. C++ programmers want to know what the code do so they can tune it or make it performant, C# programmers don't care.
We don't need delegates, partial classes, generics, or ^ pointers since C++ already knows how to do that. Why would we do it the CX/C# way?
C++ references a COM object with a * pointer or a smart pointer.
Hopefully there seems to be a new WRL C++ template library somewhere. Is there any documentation about it? Can we use it instead of CX?
I've been working for different ISVs for several years on large C++ projects (tax paying software, Image editing, Financial, programming tools...)
One problem with existing C++ apps now is the UI, which is outdated. They share that problem with Delphi apps . You know that battleship gray. I've spent lots of time trying to move (parts of) projects to Winform or WPF. This generally ends up with an awfull mix of C++, C++/CLI and C#. You know what I mean since you guys have ported Visual Studio UI to WPF ! This surely has been a huge amount of work.
If there would have been a modern UI C++ library, thing would have been far simpler. I've heard about DirectUI, and I can't wait to know more about what seems to be a native UI library.
Also I have participated to brand new WPF projects, in C#. For example an image editing app. One year after it started, the project is thrown away (10 men-year). WPF is too heavy, .Net has poor memory management, and the software was not compatible enough with previous versions of this project. Customers don't want a new app, they just want a better app which is able to reuse their old files/data.
What are all the C++ app developpers doing ? They have built their own UI framework and libraries years ago, sometimes based on MFC, or other libraries. (AFAIK MFC is not that bad, it is still used in many C++ apps, it is just old) They try to update the framework over the years. That's not easy, and requires a lot of resources. In the same time they have to update the applications. I bet the Office team at Microsoft has its own C++ framework. You can ask them what to do.
Since I've discovered .Net framework, I wonder why it is not also written in C++ native code. Maybe not the whole framework, but at least some core libraries, a powerfull UI layer, a fast database engine (I sometimes use SQLite in C++ client app)
Well, you know, just ask the guys who have ported Visual Studio to WPF, they will tell you what you need to do
Oh, and an important point: all developers have coding guidelines (or at least they should!). Many C++ ISVs ask their developers to write SIMPLE code. That means, avoid functors, use templates sparingly, etc. Don't use advanced C++ features if you can write simple code. Because simple code contains less bugs, and can easily been maintained. C++ is a powerfull language, and not all C++ developers can handle that power correctly.
I don't expect C++ language improvements, C++ is fine. But please, give us the equivalent of a light .Net framework, written in native code. That would be heaven.
Just wondering if all the features Pat talks about are delivered in vs2010 beta 2 ?
For example, about the taskbar interaction, all I have found is CWinApp::EnableTaskbarInteraction(BOOL bEnable), which actually only sets a BOOL flag... which is not used anuwhere else in the MFC code. Or I am missing something ?
Also, I can't open the class wizard now
Anyway the Ribbon designer is really great ! .NET programmers will really be jalous.