Wow.. This "Strong interest list" is awesome:<p>* Tuples (Proposal: #347)<p>* Pattern matching (Proposal: #206)<p>* Records / algebraic data types (Proposal: #206)<p>* Nullability tracking (Proposal: #227)<p>* Async streams and disposal (Proposals: #114, #261)<p>They seem to be really useful for a "more-functional style" of programming.<p>When comparing these ambitions and the level of transparency to Java's ambitions & transparency, then it seems that C# is (or has) overtaking Java. Combine that to the fact that dotnet is now an opensource project, and MS seems to be more "open" nowadays then Oracle has ever been: I'm stoked about this news.
The fact that this is so out in the open on Github is pretty amazing - shows how much Microsoft is changing.<p>Can you imagine the feature list of C# 1.0 being discussed like this?
Improved tuple support would be awesome, it's something I often miss when working with C# and coming from a Python background (that along with a nicer dictionary syntax). The nullability tracking proposal also looks interesting.<p>Overall looks like C# 7 is going to be awesome even if only a few of these get implemented.
Nice.<p>At what point would it make more sense to just leave c# as it is and move on to a new "language"?<p>I like all the changes and more importantly I guess I actually understand the intention and the need for them, at same time I'd like to question how all those actually fit into one language...<p>I understand MS has a very strong record for support of legacy software, systems etc. So for sure on point would be to still "support" legacy C# code and allow for more modern paradimes in the same language, but given all the other .net languages and the interoperability provided: what is the drive behind pulling it all in into C#?
Man these guys don't stop. They haven't even released C# 6 and now we're discussing 7.<p>With the "strong interest" features and type providers, is there any reason left to use F#?<p>Also, I don't see why array slicing would require CLR support. That would be a welcome addition.
If I wanted to learn C#, not knowing any other compiled languages (but knowing PHP), where would I start? Another gotcha: I'm on OSX, and would prefer to learn C# from the standpoint of CLI first, then GUI components.
The one thing that worries me about the tuples proposal is it would be confused with System.Tuple. The proposal seems similar to Python's namedtuple, so if possible, perhaps they could add some new .NET type (System.NamedTuple?) and use that?