Hi Liu,
First of all, this forum is for Visual Studio extensibility (macros,
add-ins, SDK packages, etc.) so you won't get many answers here for that
question. That said:
You need to use the right tool for the job.
That means that:
- If you want an application that runs on multiple operating systems (not
something that I recommend without matching the look and feel of each OS),
you would choose Java, because that is the main purpose of that language.
- If you want an app written in a very stable and standard language
(although not the most productive), you would use ANSI C++, for example.
- If you want an app only for Windows where you don't need powerful
computers to develop or run (and you don't mind to use the Windows API for
many purposes), then you could use VB6, although it is being deprecated so
it is not a wise long-term decision.
- If you want an app only for Windows written in a productive OOP language
with a very good class library, you would use VB.NET or C#, depending on
your syntax preference. You can use also .NET C++.
Finally, although many Microsoft assets (Windows, Office) are written in C++
and not in .NET, many other Microsoft products are using .NET for portions
of the new developments so it will stay with us for many years. Of course,
everything will be altered as new programming paradigms emerge over the
years; that includes Java, .NET and everything else.
My 2 cents.

Signature
Best regards,
Carlos J. Quintero
MZ-Tools: Productivity add-ins for Visual Studio
You can code, design and document much faster:
http://www.mztools.com
> I am sorry as I am not an English native speaker, I means that .Net may
> be not stable enough, just part of Microsoft's strategy to fight against
[quoted text clipped - 3 lines]
> Regards,
> Liu