# Slow Chat Archives > Slow Chat: Visual C++: Yesterday, Today, and Tomorrow >  [RESOLVED] Why is Microsoft so shy promoting the benefits of unmanaged C++?

## wserra

I have programmed in C++ for 20 years. Every time I have ventured into other languages, either lured by their syntactic simplicity or design elegance, I have lived to regret it. 

The experience could be summarized in the following phases.

- An exciting honeymoon with the new languages elegance.
- A great deal of excitement as one discovers the languages capabilities. 
- A fun time writing simple applications. 
- An unexpected rise in frustration due to performance degradation, oversimplified user interface and/or gratuitous complexity. 
- Return to C++.

The experience is definitely not universal. I talk to my fellow programmers at conferences and whenever I have a chance. Some programmers are so put off by C++s quirks that they swear they will never use it again. However, my experience is common among programmers who have a strong desire to solve extremely complex problems without sacrificing performance. Without trying to exclude anyone from this category Id say that those people are commonly referred as system programmers. They use abstraction judiciously and are able to debug in assembly mode. They derive an indescribable pleasure from their work. With regards to CLR, they acknowledge its benefits but are annoyed by the implications of managed code; they like the banana until they see the size of the gorilla attached to it. 

Looking at the future of C++, I believe that its greatest asset is that it can be extended into a syntactical continuum. The extension began when classes were added to C without penalizing the applications; it continued with templates, ATL, and now with managed classes. The expressiveness of C++ is unique and should be preserved until its benefits are negligible, probably sometime in the next century.  

With regards to Microsoft, I would ask the internal C++ community to be clearer about the future of the language. From the outside it appears that Microsoft is abandoning C++ in favor of C#. We hear from Microsoft that this is not the case but the fact is that the new documentation in MSDN is written for managed languages only. The pages which were written for unmanaged C++ are being quietly removed or replaced by their managed version. This may make sense for general applications but not for systems and COM programming.

The most successful Microsoft applications are written in unmanaged C++. As far as I know C# has had some marginal success but nothing comparable to Windows or Office. I dont know what the reason is.  Id say that users love responsive applications. In my experience, responsiveness is the first thing that goes out the window in complex applications written in managed languages.

Bill Serra
wserra@hotmail.com

----------


## BillG

While I concur with the tread that there is an almost total lack of classic  C++ documentation; my lament is for the lack of C++/CLI examples.  MSDN documentation is strongly slanted to the C# and VB developer.  And, on the net, it is hard to find example code written in C++ anymore.  

I currently work in C++/CLI and prefer it to C#.  But, my impression is -- no one writes standard user interface code in C++ any more -- they have all moved to C#.  I do not plan on moving to C#.  I sure hope that MS is not lying when they tell us the C++ will be around for a long time.

A tangent:  I really like C++/CLI!  I rather liked managed C++; but MS did some good work with V8.  For user interface stuff -- a little overhead is acceptable.

My reply suffers a contradiction.  I lament a lack of C++/CLI documentation and examples; and brush off the treads suggestion that classic C and C++ are forgotten.  The implication is that one should accept the new world -- while at the same time I resist C#.

----------


## AymanS

As you all indicated, I can confirm that VC++ will be there for a long time.  With regard to the promotion part, we are currently working on that and gradually you will see a difference there.

It is not the first time we hear about the lack of VC++ or C++/CLI specific documentation (samples). I agree, we need to improve there. Please feel free to share specific fields that you feel would have the most benefit if better documented.

Thanks,
Ayman Shoukry
Program Manager
VC++ Team

----------

