Luke Breuer
2007-12-21 20:45:39 UTC
I had a relatively short, but quite insightful conversation with Eric
Lippert, one of the C# designers who actually
blogs<http://blogs.msdn.com/ericlippert/>about C#. He said the
following (yes, in purple):
Rather, we have a large number of customers, internal and external, and each
mostly non-hackish implementation of LINQ. Yes, there are no trivial left
joins, but on the whole, I like it. Frans would have something to say about
how Expression<T> is implemented, Ayende and others would denigrate partial
methods, but I think most of us, on average, really like C# 3.0.
What I want to know is what you would like for C# 4.0. As noted by Eric,
"narrow" improvements are more likely to happen if they contribute to a
[decently] large theme. Therefore, I'm asking you for
improvements/features, linked to a pretty solid theme. My #1 theme would be
better type safety/type inference. A few examples:
- non-nullable reference types
- inter-method type inference, so I can pass anonymous types around
- var quote = s => "'" + s + "'";
- named parameters (dunno about default parameter values)
- the infoof operator (info of), for no/fewer magic strings or lambdas
when using reflection
- [more] covariance/contravariance
There is plenty else to discuss, but I don't want to steal all the thunder
or anything. :-D
Luke
Lippert, one of the C# designers who actually
blogs<http://blogs.msdn.com/ericlippert/>about C#. He said the
following (yes, in purple):
Rather, we have a large number of customers, internal and external, and each
has their own ideas about how the language should evolve. There are a
million and one possible new language features we could do; the trick is
finding the few of them that give the biggest bang for the buck to the
greatest number of customers. We therefore try to identify a *theme* and
then choose features, large and small, which work together to support that
theme.
I think it was really cool that a lot of good features got pulled in for amillion and one possible new language features we could do; the trick is
finding the few of them that give the biggest bang for the buck to the
greatest number of customers. We therefore try to identify a *theme* and
then choose features, large and small, which work together to support that
theme.
mostly non-hackish implementation of LINQ. Yes, there are no trivial left
joins, but on the whole, I like it. Frans would have something to say about
how Expression<T> is implemented, Ayende and others would denigrate partial
methods, but I think most of us, on average, really like C# 3.0.
What I want to know is what you would like for C# 4.0. As noted by Eric,
"narrow" improvements are more likely to happen if they contribute to a
[decently] large theme. Therefore, I'm asking you for
improvements/features, linked to a pretty solid theme. My #1 theme would be
better type safety/type inference. A few examples:
- non-nullable reference types
- inter-method type inference, so I can pass anonymous types around
- var quote = s => "'" + s + "'";
- named parameters (dunno about default parameter values)
- the infoof operator (info of), for no/fewer magic strings or lambdas
when using reflection
- [more] covariance/contravariance
There is plenty else to discuss, but I don't want to steal all the thunder
or anything. :-D
Luke