OVisual Basic.NET é um produto extremamente diferente do antigo Visual Basic 6.0, não podendo ser considerada uma versão seguinte. Não apenas a maneira de programar foi alterada, mas todo conceito de orientação a objetos trouxe poder para a linguagem.A Microsoft simplesmente descontinuou o antigo Visual Basic 6.0 tornando o produto parecido com as demais linguagens do Visual Studio, parecido em questões de recursos e portabilidade pois oVisual Basic.NET ainda é muito diferente de linguagens como o Visual C++, C#, etc. Porém esta nova versão aproximou oVisual Basic.NET das grandes linguagens de programação, aumentando a aceitação dos programadores Java e até mesmo C++, embora os programadores Java que migram para a plataforma.NET da Microsoft prefiram oC#.[carece de fontes?]
Apesar da linguagem ser parecida com o antigo Visual Basic 6.0 a migração para a nova plataforma e utilização doVisual Basic.NET é mais fácil para programadores que utilizam linguagens orientada a objeto. Os programadores do antigo Visual Basic 6.0 acostumados com a orientação a eventos encontram algumas dificuldades na utilização doVisual Basic.NET.
Os desenvolvedores podem criar uma ampla gama de aplicativos Web, móveis, do Windows e do Office, com a mesma base .Net Framework, que tem atualmente a versão4.0.
O Visual Basic .NET original foi lançado em2002 juntamente comVisual C# eASP.NET. Alterações muito significativas quebraram a compatibilidade com versões anteriores e criaram alguma tensão na comunidade de programadores.[4]
Esta versão do Visual Basic foi lançada com a versão 1.1 daFramework .NET. Novos recursos incluíam o suporte para o.NET Compact Framework e umupgrade aowizard do VB. Foi melhorada a performance e fiabilidade do IDE. Adicionalmente, Visual Basic .NET 2003 tinha uma versão acadêmica (Visual Studio .NET 2003 Academic Edition - VS03AE).
Comentários emXML que podem ser processados por utilitários taisNDoc para produzir documentação "automática";
OperadorIsNot que funciona desta forma:'If X IsNot Y', que é equivalente a:'If Not X Is Y'. Ganhou fama[8] quando se descobriu que fora patenteado pela Microsoft.[9][10]
Como parte da linha de produtosVisual Studio, a Microsoft criou um conjunto de ambientes de desenvolvimento gratuitos para aprendizes: a sérieVisual Studio 2005 Express. Visual Basic 2005 Express Edition é uma das edições dessa série de aplicações, que foi depois substituído pelo Visual Basic 2008 Express Edition do Visual Studio Express[11]
O Visual Basic 9.0 foi lançado juntamente com oMicrosoft .NET Framework 3.5, a19 de novembro de2007. Nesta versão, a Microsoft adicionou bastantes novos recursos, tais como:
O operador condicionanteIf(boolean, value, value), para substituir a funçãoIIf.
Em 2007, a Microsoft planejou a utilização deDLR para o Visual Basic 10, conhecido como VBx.[12] Contudo, a partir deAgosto de2009, não houve mais notícias sobre o desenvolvimento do VBx com DLR. Como o C#, o Visual Basic poderá aceder a objetos de linguagens dinâmicas construídas no DLR tais comoIronPython eIronRuby.[13]
Para uma lista completa das características do Visual basic 10.0, ver o documento em"What's New in Visual Basic 2010" publicado pela Microsoft.
Juntamente com o Visual Basic 2010 obtemos o.NET Framework 4.
O seguinte exemplo simples demonstra a similaridade entre sintaxe VB.NET e VB. Ambos os exemplos aparecem numa caixa de mensagem dizendo "Olá, Mundo" com um botão OK.
Exemplo VB Clássico:
Private Sub Command1_Click () MsgBox("Olá, Mundo") End Sub
Exemplo VB.NET:
Private Sub Button1_Click (ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click MsgBox("Olá, Mundo") End Sub
Note que todas as chamadas de procedimento devem ser feitas com parênteses em VB.NET, enquanto no VB6 houve diferentes convenções para funções (parênteses necessários) e subcategorias (sem parênteses permitida, a não ser chamada utilizando a palavra-chave Call).Além disso, note que os nomes comando1 e Button1 não são obrigatórios. No entanto, esses são nomes padrão para um botão de comando VB6 e VB.NET, respectivamente.Existe uma função chamada MsgBox no namespace Microsoft.VisualBasic, que pode ser usado do mesmo modo que a função correspondente no VB6. Existe uma controvérsia sobre qual função para usar como uma melhor prática (não apenas restrito a mensagem mostrando caixas, mas também a outras características do namespace Microsoft.VisualBasic). Alguns programadores preferem e defendem que linguagens de código com características específicas se tornam mais legíveis (por exemplo, utilizando int (C #) ou Integer (VB.NET) em vez de System.Int32).O exemplo a seguir mostra uma diferença entre VB6 e VB.NET. Ambos os exemplos descarregam a janela ativa.
Exemplo VB Clássico:
Private Sub cmdClose_Click () Esvaziar Me End Sub
Exemplo VB.NET:
Private Sub btnClose_Click (ByVal remetente As System.Object, ByVal e As System.EventArgs) Handles btnClose Clique em mim. Close () End Sub
Note o "cmd" sendo substituído com o prefixo 'btn', conforme a nova convenção anteriormente mencionada.Os seguintes são equivalentes:
Exemplo VB 6:
Private Sub Timer1_Timer () mim. Altura = Me. Altura - 1 End Sub
Exemplo VB.NET:
Private Sub Timer1_Tick (ByVal remetente Como System. Object, ByVal e Como System. EventArgs) _ Handles Timer1. Tick mim. Altura -= 1 End Sub
Os muitos utilizadores do Visual Basic queixaram-se[14] do fato das versões iniciais do Visual Basic .NET abandonarem um grande número de características da linguagem[15] disponíveis no VB6 (não mais vendido pelo Microsoft), e pelas alterações na semântica das características que se mantiveram; por exemplo, no VB.NET os parâmetros são passados (pordefault) por valor, não por referência. Detratores referem-se pejorativamente ao VB.NET comoVisual Fred ouDOTNOT.[16] A8 de Março de2005, uma petição[17] foi criada em resposta à recusa da parte da Microsoft em estender o suporte[18] ao VB6.
As versões anteriores do VB tinham várias limitações no código:
Nº de variáveis usadas no mesmo código.
Nº de arquivos abertos no mesmo código.
Nº de janelas abertas no mesmo código, dentre outras.
No VB.NET existem limitações físicas, segundo a Microsoft, mas são tão altas que não há chances de serem atingidas pelo desenvolvedor, a ponto de não serem nem documentadas oficialmente.[carece de fontes?]
Arquivos com extensão .vb e outros que podem ser incluídos no projeto, tais como ASP (extensão .aspx), XML (extensão .xml), arquivos HTML (extensão .html), etc.Não há distinção de arquivos de classes, janelas, controles e outros, pois todos terão a extensão .vb.[carece de fontes?]
↑Somente se a checagem de tipos (Option Strict) não for habilitada. Muitos desenvolvedores em VB.NET afirmam que a checagem restrita de tipo deve ser habilitada em todos os novos projetos e desabilitada somente para códigos antigos convertidos através do Ajudante de Atualização (Upgrade Wizard).
↑«Petição à Microsoft». Classicvb.org. 8 de março de 2005. Consultado em 16 de junho de 2009. Arquivado dooriginal em 14 de junho de 2009
↑Vick, Paul A. Jr.; Barsan, Costica Corneliu; Silver, Amanda K. (14 de maio de 2003).«United States Patent Application: 20040230959».IS NOT OPERATOR. US Patent & Trademark Office. Consultado em 6 de abril de 2009
↑«What the heck is "VBx"?». 1 de maio de 2007. Consultado em 12 de Agosto de 2009.With the new DLR, we have support for IronPython, IronRuby, Javascript, and the new dynamic VBx compile