No PDC 2008, a Microsoft prometeu paridade entre as linguagens Visual Basic e C#. O que isso significa para o .NET 4 foi enumerado durante o keynote Lang.NET(marca de 18 minutos). Brevemente, isso é o que você pode esperar pra ver.
Novas funcionalidades para ambas as linguagens
- Interoperabilidade com Dynamic Languages (linguagens dinâmicas)
- Coo/contra-variação
- publicação de PIA não necessária
Novo para o VB 10, já disponível no C#
- Auto-implementação de propriedades
- Inicializadores de Coleções
- Declarações lambda
Novo para o C# 4, já disponível para o VB
- Parâmetros Nominados/Opcionais
- Suporte a Latebinding
- Omissão do “ref” em chamadas COM
Infelizmente, duas funcionalidades chaves não fazem parte da lista. O C# 4 não irá embarcar Literais XML e o VB não terá iteradores.
Sem mencionar algumas funcionalidades menores, mas assim mesmo necessárias como permitir estruturas em parâmetros opcionais. A inabilidade de declarar um opcional, inteiro anulável em uma função faz com que fazer um mapeamento 1-para-1 com stored procedures impossível. Isso foi demonstrado para o VB entre sessões no PDC.