Artigo .net Magazine 50 - Visual Basic 9.0

Veremos nesse artigo a evolução da linguagem Visual Basic da versão 8.0 para a versão 9.0.

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

Clique aqui para ler esse artigo em PDF.

Novidades

Visual Basic 9.0

Conheça as novidades

 

Estamos atualmente no meio de uma onda de atualizações impressionante. No último um ano e meio a Microsoft tem evoluído rapidamente suas tecnologias de desenvolvimento de software. Nesse período tivemos o lançamento do .Net 3.0, do .Net 3.5, do C# 3.0, do Visual Basic 9.0, e já se fala no VB X. Acompanhando esses lançamentos estão o Visual Studio e suas atualizações intermediárias, como o SP1 do Visual Studio 2005 e o próprio Visual Studio 2008. Mal o .Net 3.5 saiu do forno no final do ano passado e já temos suas primeiras atualizações disponíveis para avaliação, como o ASP.NET 3.5 Extensions Preview, que traz, entre outros, o esperado ADO.Net Entity Framework e o ASP.Net MVC.

Veremos agora uma pequena parte dessa avalanche: a evolução da linguagem Visual Basic da versão 8.0 para a versão 9.0. Apesar de pequena diante de tantas novidades, as mudanças são impressionantes, e continuam seguindo claramente o objetivo de tornar a linguagem mais produtiva para o desenvolvedor, além de trazer novos horizontes tecnológicos antes impossíveis, proibitivamente caros ou difíceis de realizar. Vamos às novidades!

 

Nota:

Você pode baixar a especificação formal da linguagem na página de downloads da Microsoft (já em sua versão com Silverlight) em http://www.microsoft.com/beta/downloads, e procurando por “Visual Basic Language Specification”.

 

Setup

Para acompanhar o artigo, você vai precisar do Visual Studio 2008. Uma aplicação console simples deve funcionar sem problemas. Não se esqueça de, ao criar um projeto, configurar o mesmo para utilizar o .Net Framework 3.5, conforme exibido na Figura 1, já que o Visual Studio 2008 permite o desenvolvimento tanto no framework 3.5 quanto no 3.0 e no 2.0.

 

Figura 1. Crie o projeto no VS 2008 escolhendo o .NET 3.5

 

Evolução da linguagem, da ferramenta e do Framework

Vamos evidenciar principalmente a evolução da especificação da linguagem Visual Basic, eventualmente exibindo também melhorias do Framework 3.5, ou da IDE do Visual Studio 2008. Ainda assim, é importante ressaltar que é possível programar com Visual Basic 9.0 para o .Net Framework 2.0, conforme exemplos dados ao final do artigo. Mesmo que o conjunto Linguagem/IDE/Framework tenha seus membros independentes uns dos outros, trabalharemos com o Framework 3.5 porque sem ele algumas funcionalidades do VB9 não são possíveis de serem utilizadas.

É bom separar a linguagem do framework e da IDE. Você pode, como já falei, trabalhar com VB9 e .Net Framework 2.0. A linguagem poderia, conceitualmente, até trabalhar sem o .Net Framework, apesar de ter sido construída amarrada a ele. Você pode trabalhar com VB9 sem o Visual Studio, somente com o SDK, assim como qualquer pessoa poderia criar um compilador para VB9 ou uma IDE que utilizasse os compiladores da Microsoft, ou outro.

Assim, é bom separar melhorias na linguagem das melhorias do Framework, que são muitas e muito boas, e também das melhorias da IDE, que também não são menos importantes. Vamos a elas.

Object initializers

A linguagem passa a trazer agora a possibilidade de inicializar o objeto quando ele é criado. Assim, é possível, em única linha de código, declarar, instanciar e inicializar um objeto. A Listagem 1 mostra, no primeiro exemplo, uma variável declarada e inicializada. No segundo exemplo a variável é inicialmente declarada, e inicializada somente na linha seguinte. Note como o grande responsável pela declaração da inicialização é a palavra-chave “With”.

Internamente o compilador do VB9 vai gerar uma chamada para a instanciação e outras para a inicialização, que serão chamadas após o construtor. Assim, caso o objeto possua um construtor parametrizado que vai atribuir valor às suas variáveis internas, e for utilizada também a opção dos object initializer para inicializar o objeto, primeiro rodará o construtor, e em seguida as atribuições às variáveis do inicializador. É como se, após a instanciação do objeto, chamássemos a antiga palavra-chave “With” e construíssemos o objeto a partir dela, conforme exibido no terceiro exemplo. É importante conhecer essa ordem para não encontrar erros inesperados no código." [...] continue lendo...

Artigos relacionados