Esse artigo faz parte da revista .NET Magazine edição 60. Clique aqui para ler todos os artigos desta edição

 

o está baseado no que foi apresentado nas palestras sobre C# 4.0 do PDC. Muito do que foi apresentado ainda não está disponível para testes da comunidade. Ainda assim, a Microsoft lançou um CTP (Community Technical Preview) do Visual Studio 2010 na forma de uma máquina virtual de quase 8 gigabytes de um Windows Server 2008. Você pode obtê-la em http://go.microsoft.com/fwlink/?LinkId=131310, mas tenha em mente que nem tudo o que será apresentado neste artigo funcionará ainda nesta máquina virtual, disponibilizada no último dia do PDC. Até a publicação deste artigo provavelmente uma nova máquina virtual estará disponível, já que a atual expirará em primeiro de janeiro de 2009, e ela deverá ter uma versão em que o código deste artigo funcione por completo.

Além disso, o lançamento do Visual Studio 2010, do .Net Framework 4.0, do C# 4.0 e do VB X estão previstos somente para 2010. É possível que a Microsoft faça o lançamento ao fim de 2009, antecipando levemente o calendário, da mesma forma com que fez com o Visual Studio 2008, que foi lançado em Novembro de 2007. Até o lançamento, que está a muitos meses de distância, muito ainda mudará no C# 4.0, já que ele não está ainda “feature complete”, ou seja, não possui codificadas ainda todas as funcionalidades previstas para o lançamento. Há ainda muitas questões em aberto, principalmente nos itens que tratam dos novos aspectos dinâmicos da linguagem. A Microsoft não esconde tais pontos e está expondo-os à comunidade e obtendo feedback. Não é incomum encontrar um membro do time de desenvolvimento do C# 4.0 blogando sobre uma funcionalidade que está em desenvolvimento e sobre a qual gostaria de feedback. Aproveite esta oportunidade se você quiser participar do processo de evolução desta linguagem, que tem crescido a cada novo release.

 

O que há de novo?

Em entrevistas, palestras, publicações, e blogs, a Microsoft tem colocado as motivações que dirigem a nova versão do C#. A versão 3.0, foi claramente dirigida pelo LINQ, e a versão 2.0 pelos generics. A versão 4.0 está dividida em quatro itens principais, que serão o foco deste artigo. São evoluções graduais na linguagem, e que não mudarão drasticamente a maneira de codificar. Ainda assim, não utilizar as novidades propostas significará a perda de excelentes oportunidades.

Qual é o foco do C# 4.0 então? O foco é dinamismo e melhor integração e facilidade de uso da linguagem. No C# 4.0 muito do barulho e da dificuldade da codificação que eram comuns no C# serão removidos ou solucionados. Isso será visto particularmente na integração com o COM, que é um dos assuntos que serão discutidos.

Outro foco é a evolução paralela do C# com o Visual Basic. Anders Hejlsberg, o principal pai do C#, quando fez a palestra de apresentação do C# 4.0 no PDC deixou extremamente claro que o VB e o C# evoluirão em paralelo a partir de agora. Isso significa que o VB passará a ganhar algumas funcionalidades que somente o C# possuía, e vice-versa. Assim, você verá também neste artigo que o C# terá em sua quarta versão algo que o VB possui desde versões pré .Net, como parâmetros opcionais e nomeados em chamadas de método, algo que o CLR permitia desde o princípio do .Net. Essa evolução em paralelo já estava evidente no lançamento de 2008, mas somente agora ela está formalizada. Ainda assim, não espere ver XML Literals no C#, ou chamadas unsafe no VB. São funções que não foram sequer mencionadas, e eu não acredito que estas barreiras serão rompidas. Apesar de levemente polêmica, vejo a evolução em paralelo com bons olhos.

 

Nota do DevMan

Eu sempre disse que VB e C# são dialetos de uma mesma língua. A partir de agora isso é ainda mais verdade. Se você gosta das diferenças entre as linguagens e aprende com elas, esse é o momento ideal. Não se preocupe com a aproximação do C# e do Visual Basic, há diversas iniciativas em linguagens muito diferentes destas duas acontecendo neste momento.

A Microsoft está introduzindo o F#, uma linguagem funcional que tudo indica será uma linguagem de primeira linha no .Net, recebendo o mesmo nível de atenção e suporte que o VB e o C#. Além disso, as linguagens dinâmicas estão na moda, e duas delas são patrocinadas pela Microsoft e estão evoluindo como projetos open source: o IronRuby, baseado na especificação do Ruby, e o IronPython, baseado na especificação do Python. Há ainda outras linguagens não patrocinadas pela Microsoft começando a receber atenção, como o Boo, uma linguagem também dinâmica baseada em Python criada pelo brasileiro Rodrigo Bamboo.

Hoje se fala muito em “a melhor linguagem para a tarefa”, e utilizar a mesma linguagem para tratar todos os problemas está começando a ser visto como algo ultrapassado e anacrônico. Como diz o ditado, “se você só tem um martelo todos os problemas são pregos”. Atente para o melhor uso de cada linguagem que o .Net pode lhe oferecer. Seja ela C#, VB, IronRuby ou Boo.

Para mais informações visite:

F#: http://research.microsoft.com/fsharp

IronRuby: http://www.ironruby.net

IronPython: http://www.codeplex.com/IronPython

Boo: http://boo.codehaus.org

 

Para diminuir a fricção da linguagem e melhorar sua legibilidade e integração, estão sendo introduzidas quatro funcionalidades principais no C# 4.0. São elas:

1.     Construções dinâmicas;

2.     Variância para tipos genéricos;

3.     Argumentos opcionais e argumentos nomeados em métodos e chamadas de métodos;

...

Quer ler esse conteúdo completo? Tenha acesso completo