@Vlad: Definitely. Anders Hejlsberg is actually still involved with the C# design, although not at the granularity of weekly discussions. We review the progress of language design with him every two or three months.
@Jon: Item starts at 1 rather than 0 because of the legacy of System.Tuple types. System.ValueTuple is a very similar set of types, with the difference that they are structs. That said, in C# tuples, elements can be named, so I don't expect to see that people use Item1, Item2, etc frequently.
(string first, string last) person = GetAccount();
This seems to be an implementation of trampoline-style threading in .Net.
You write your code as a method which periodically gives up control of its calling thread by use of the "yield" statement. And you expect that the scheduler/engine will revive you so that you can continue from where you left off.
This technique would benefit from C# supporting the "yield foreach" construction. This would allow for an iterator method calling into another iterator method passing the result directly through. This is an especially useful syntax and optimization for recusive
calls (tree navigation).
The guys in this videos have the smile of a cat who just ate the goldfish.
They are basically sneaking an ad-blocker into IE, under guise of privacy. Just like AdBlock Plus, they don't take the responsibility of which urls get blocked, they let people publish filtersets (Subscriptions). Ad blocking has not been a huge concern for the industry so far, because it is not that mainstream. But having it built into IE8 would make that possible. Ad networks and web analytics providers are going to love this one.
How much parallelism and optimization can be done by the compiler automatically? Daan points out that even with code with no side-effect, the question of the overhead remains.
I think this can be solved by an approach like PGO (Profile Guided Optimization). In other words, run the program with some instrumentation to try out the different parameters and see what benefits they bring, then re-compile the program with those decisions
and optimizations built-in.
Remote programming is a great addition. It seems that it is still quite limited though, as it seems geared towards personal use more than social use.
We need to unique urls for shows (the same way that IMDB urls can be used to identify movies), so they can be exchanged in email or webpages, in addition to getting recorded remotely...