views:

517

answers:

11

Hello

I am very interested in learning what features people are interested in in the forthcoming .net framework(s)?

Whether these be new classes or new controls I am curious to know people views.

+1  A: 

The DLR and Parallel Extensions, although I can't say I'm that informed as to exactly what's going to be in the box when it ships.

Edit: As per Jon Skeet, Code Contracts do look nice too. Not ground breaking, but from the samples I've seen they look like a nice way to represent it.

Steven Robbins
+4  A: 

I'm looking forward to new WPF controls. I believe the now WPF Toolkit will be incorporated as controls in the framework. It'll be a lot nicer having them as stock controls in Visual Studio and having them patched with the .NET framework rather than having to download a new set every time bugfixes have to go out.

Also, i'm looking forward to Visual Studio 2010 in all it's WPF glory!

Jason Irwin
wpf glory indeed! Further, I can't wait until they overhaul the whole VS IDE. That's unfortunately not likely to happen given the multitude of vendors writing addins. :(
p.campbell
+2  A: 
  • Optional parameters in C#

More so than than .NET 4.0, I'm really looking forward to Visual Studio 2010, same as jirwin's response.

Cory Larson
I can see these being useful for automating Office (something I've only ever really done in VB), but can't say I can think of many cases where I'd use them elsewhere.
Steven Robbins
Yeah, I wouldn't use them much, but there's that one time out of a thousand where it'd be really nice to have them instead of writing an overloaded method or doing constructor chaining.
Cory Larson
You often use them in constructors. For example the four Exception constructors could all be replaced by one. With the four constructor version I could never remember if passing a null argument would act like the simpler constructor or throw an exception. Using a single constructor with default arguments would have made that confusion impossible.
Strilanc
+7  A: 

Code Contracts and Parallel Extensions. Neither are language features (which is mostly what I get interested in usually) but both have the potential to significantly change how we write code.

The DLR does sound cool and interesting, but I'm not sure I'd end up using it much, at least in terms of interoperating with IronRuby/IronPython. It'll be nice to be able to use late binding to reduce reflection boilerplate code though

In terms of C# 4 language features, covariance and contravariance will be more of a "phew, that reduces an annoyance" than a "wahay, cool stuff!" but optional/named arguments could be very handy. It'll make writing/using immutable types slightly easier, although I'd still like built-in support for the builder pattern :)

Jon Skeet
Code Contract do look like a nice way to write your "validation".. forgot about that one.
Steven Robbins
Code Contracts are a great addition. I'm not convinced [yet] on the optional/named arguments. We'll see...
280Z28
@280Z28: I'm sold on optional parameters and named arguments by how much nicer they make COM work *and* creating immutable types.
Jon Skeet
Also looking forward to code contracts. I do wish non-nullable types had been included, though. It feels like all my contracts are "Contract.Requires(X != null)" and "Contract.Ensures(Contract.Result(of T) != null)".
Strilanc
I guess I'm just worried people will treat C# like C++. :o I can see using them for immutable types. I also use extension methods sparingly (and almost always for COM interop).
280Z28
@Strilanc: Yes, it would be nice to have syntactic sugar around that... although there's the choice to be made between that `Contract.Requires(...)` and `Contract.Requires<ArgumentNullexception>(x != null, "x"))`.
Jon Skeet
How long have preconditions been part of the formal specification of functions? It's amazing nobody has thought of this already, atleast as part of an official API
Chris S
+1  A: 

The promise of alot better Sharepoint developer tools and support, 'cause when you have to work in it currently, it's a bit of a pain.

Just the deployment options they plan on having will save some headaches.

So I'm optimistic they have listened to the groans from the developer community.

curtisk
I've been waiting for a good SharePoint development story since the beta of the first version way back when.. I hope you're right.. but I wouldn't hold your breath :-)
Steven Robbins
I've got a snorkel...so I'm good
curtisk
A: 

A framework tuple class and C#4 'dynamic', which I'm going to use everywhere to get one up on people who use 'var' everywhere. (I know 'dynamic' is not a pure framework feature - but it's part framework)

Will Dean
A: 

Ummm... Isn't the StringOr class an April Fools joke?

+1  A: 

I do a lot of work with Expression, so I'm looking forward to the extra expression types.

I also like optional/named arguments - but mainly as a way of making immutability simpler; not sure I'd use it much otherwise...

Marc Gravell
+6  A: 

Mostly parallel extensions and 'variance. And of course: System.Reactive / the Rx Framework / "LINQ to Events", which I think could be(come) very big.

But there are other things I have not seen mentioned here that - while "just nice to have" in a way - might come in handy when the new version is finally there. Like:

  • BigInteger (to bad something like a INumber didn't make it in yet...)
  • ISet<T> and SortedSet<T> (self-balancing trees in the Framework)
  • Changing file system enumeration APIs from returning arrays (only?) to returning IEnumerable (as well?)
  • Default support for F# language
  • Slight compression improvements

I think dynamic and optional/named parameters are just there to enable better/easier interop with languages that use/need/require these concepts. So they are nice to have available. But surely nothing more than that.

peSHIr
+1 for the mention of `System.Reactive`
Andreas Grech
A: 

For me, the most important is the convergence between VB.NET and C#, now they share finally the same features that were broken with 3.0/3.5.

I am also interested in:

marco.ragogna
A: 

The Visual Studio 2010 code editor being pure WPF and being able to be docked on either monitor, and addins not using the nasty Office COM object model (EnvDTE).

I know that's not the framework but the question has been tagged VS2010

Chris S