I've been incessantly working with the VS 2010 CTP for a while now and there are some features I'm really looking forward to about it, and some that I'm not looking forward to. I also wrote a brief overview on it:

http://www.codeguru.com/vb/vb_intern...cle.php/c15645

That was my shameless plug, I'm sorry. But the main reason I wrote this thread was two things. One that I like, one that I don't like

I like parallel programming.
I don't like the DLR.


I like: The Parallel FX has made it *really* easy to take advantage of multi-core processors. This is going to make all the difference when applications based on the Parallel FX library come out, as so many applications nowadays are still 'single threaded' (I use that in the roughest sense).

I don't like: The Dynamic Language Runtime, to me, seems like a resurrection of Variants that we were trying to get away from in .NET. You can essentially do something like this now:

dynamic x = GetMeTheObject();
x.SomeMethod();

Without knowing what type GetMeTheObject() returns! I didn't like "var" much when it promoted lazy coding if you knew the type being returned from a LINQ query, but I really don't like dynamic. The fact that it's now there in C# will cause someone out there to create some new factory pattern based on it and then claim that the DLR is the best thing suited for this brilliant new pattern. I am planning to gather my teammates and team leaders into a meeting room when VS 2010 comes out. I will then demonstrate to them how to use the DLR and what can be done with it. I will then issue a statement to them - if I ever catch them using this, I will tear their hair out with my teeth. I believe that false threat with its humorous image that they will conjure up int heir minds will serve as a good deterrent.

What do you guys think of what's coming up?

Yes, there is another thread somewhat related to this here, but it's not really talking about .NET 4.0, it's talking about change.