TommyCarlier wrote:
C# and the .NET Framework probably started as a response to Java (the language and the platform), but has grown to something that Java is now trying to catch up with. .NET 2.0 was a big improvement, and .NET 3.5 will even be a bigger step forward.

Might be. But I tend to see it more as Microsoft effort to stabilize, standardize and make it easier for windows development. VB6 RAD is quite useful in the old days but it lacks the power and the extensibility while Windows API is just too big for general programmer consumptions (which makes then prone to bugs). I think Microsoft saw this potential problem (even from inside developments) and address it by creating the 'universal' platform taking examples from Java.