For most of their lifetimes, C# and VB.NET have evolved at their own pace and in their own ways (C# added iterators, VB.NET didn't. VB.NET added XML Literals, C# didn't. etc, etc...). Today, Luca Bolognese and team have embarked on a new approach to how
.NET's premiere languages will evolve going forward: Co-Evolution. Essentially, new language/compiler features will be developed for each language concurrenly. No longer will C# get new language construct X while VB.NET adds Y. They will both get X (and they
will both get Y). Anders Hejlsberg, the father of C#, now oversees both languages and will make sure that language innovations are developed for C# and VB.NET
at the same time.
I visited Luca recently to get a sense of the rationale behind this new co-evolutionary approach to two very different languages. Why is co-evolution important? Why not just have the languages, which target different demographics (do they?), evolve in ways
that match the needs their users? What's the story here? What's next?