I agree that C++ needs a lot of improvements, mainly, because it was
updated in Neolithic Age (99).
C++ was never updated in 99. The first C++ Standard was 98. And then another one in 2003. And a new one has just come out this year. That's not exactly neolithic. More importantly, it's worth noticing that programming techniques that C++ had since well before 98 have, relatively speaking, only just come into .NET languages, like generics and functional APIs. C++ has had templates for vastly longer than generics have existed in C# - and generics aren't even as powerful as templates. Arguably, it's C# that's playing catchup, decades later.
I have a feeling that C++ is an overkill for this kind of apps
Overkill how? Apart from the idea that some people might prefer C++ for subjective reasons (which I could give a dozen of if you're interested), plus the fact that it doesn't require a 100MB install to get running on a consumer's computer, for example, or works on many more platforms than C#.
And C#'s runtime overhead is not tiny. At all. In fact, the smaller the app, the greater the proportion of time is spent just loading up the CLR.
As far as I can tell, the fundamental problem is that Microsoft has two divisions - WinDiv and DevDiv, I believe.
WinDiv can't be bothered and feels compelled to lump C++ in with another language- first it was C with the Win32 API, and now it's C# with the Metro APIs, which are C++ APIs only in the sense that technically, they're compiled by a C++ compiler and actually have very little in common with a C++ design. In addition, WinDiv doesn't learn from their mistakes- for example, even in the new Metro APIs, you can't mix Metro controls and DirectX rendering. Seems to be the kind of thing you would have fixed after the airspace problems with the previous generation of native controls.
DevDiv on the other hand seems to actually know wtf they're doing, for example, see the Concurrency runtime in Visual Studio 2010 and C++ AMP in vNext, which are awesome. They also produce some pretty sweet tools- the IDE improvements for C++ in vNext are quite good, and AMP is a big deal, even if unfortunately, that means few new C++11 features.
The problem is that WinDiv produces a lot more content than DevDiv, for example, sockets and UI libraries. So there is a C++ renaissance- it just only applies to the stuff that the unfortunately tiny DevDiv library team managed to paste over the WinDiv stuff.
CComPtr<T>
with a built-in syntax.