Hi, Bhavbhuti.
Some comments:
>C++ has been replacved by C#.
That's wrong. C++ is still alive and kicking! Indeed, VC++ 2005 is awsome. They made incredible things with the compiler and the IDE as well. VC++.NET allows you to write managed and unmanaged code, so this is the bridge between COM and the framework. Indeed, the operating system is still mostly unmanaged code.
>Java is not to be touched.
Don't know what you mean, but remember J# is out there.
>But these .net languages are all practically new, and new languages have thier on pitfalls.
Well, for a computing language nowadays, it could be argued that having 5+ years as C# has now, it is not "new" anymore. And it is quite difficult that such a carefully designed language (having strong roots in C++ and Java) could have pitfalls. I guess you are thinking more about the framework than the language, and in this sense it is true that it has a lot of things to improve (even the 2.0) but what we have today is very good and pretty stable by now.
Regarding VFP, I agree in that it is the only supported platform MS has now to develop Win32 applications beside VC++, which very popular but doesn't fit for all audiences. And I think it still has a lot of room in the future.
Best regards,