Jason Zander has just written Announcing VS2010 / .NET Framework 4.0 Beta 1 in his blog and I have just read it.
I look forward to moving to VS2010 and can see that it will have productivity benefits but I'm not going to rush out and install it and definitely not try the beta - it just doesn't have that much appeal. I thought that VS2008 and C# 3.0 were a fantastic jump from the previous VS2005/C# 2.0 version and brought enormous benefits especially in the new language features. VS2010 feels like a tooling release and not a language feature release.
My feeling is that C# has evolved as follows (although I'm sure that I've missed some features):
C# 1.0 - Gives you managed code but does not have all the features of C++.
C# 2.0 - Adds back generics to the language and now C# is only missing default parameters to get back to C++.
C# 3.0 - Adds LINQ, Extension Methods, and Lambdas - this is an enormous boost to the language and suddenly makes it compete with languages such as LISP.
C# 4.0 - Adds back default parameters so now most (all?) C++ features are in the language.
For me, the big jump so far has been C# 3.0.
Make no mistake, I'm looking forward to C# 4.0 and VS2010 but it doesn't have a killer feature like LINQ to pull me in there quickly.
Add (20 May 2009): If you were using C# 2.0 and were given a choice between upgrading it with either the new features of C# 3.0 or the new features of C# 4.0 which would you choose?