There is nothing wrong with C++. Most ISVs ship their apps built solely on C++. Visual C++ just means that you have a visual design studio so that what you see at design time is what you see at run time. MFC is one of several frameworks used to build visual apps. Moving to .NET you could continue to use MFC or choose WinForms, WebForms or WPF. Java has their own frameworks for use in the Java tools and runtime.
