Visual Basic.NET é uma linguagem de programação totalmente orientada a objetos e com suporte total a UML, criada pela Microsoft e distribuída com o Visual Studio .NET.
Visual Basic .NET | |
---|---|
![]() | |
Paradigma | estruturada, imperativa, orientação a objeto, declarativa |
Surgido em | 2001 |
Última versão | 2021 (16.9.15) 14 de dezembro de 2021[1][2] |
Criado por | Microsoft Corporation |
Estilo de tipagem | dinâmica, forte, insegura[3], nominativa |
Principais implementações | .NET Framework, Mono |
Dialetos: | Microsoft Visual Studio .NET, .NET 2003, 2005, 2008, 2010 |
Influenciada por | Nenhuma |
Influenciou | Nenhuma |
O Visual 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 o Visual Basic.NET ainda é muito diferente de linguagens como o Visual C++, C#, etc. Porém esta nova versão aproximou o Visual 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 o C#.[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 do Visual 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 do Visual 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ão 4.0.
Versões do Visual Basic .NET
Desde novembro de 2007, existem quatro versões do Visual Basic .NET implementadas por The Visual Basic Team.
Visual Basic .NET (VB 7)
O Visual Basic .NET original foi lançado em 2002 juntamente com Visual C# e ASP.NET. Alterações muito significativas quebraram a compatibilidade com versões anteriores e criaram alguma tensão na comunidade de programadores.[4]
Visual Basic .NET 2003 (VB 7.1)
Esta versão do Visual Basic foi lançada com a versão 1.1 da Framework .NET. Novos recursos incluíam o suporte para o .NET Compact Framework e um upgrade ao wizard 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).
Visual Basic 2005 (VB 8.0)
A partir do VB 8.0, a Microsoft largou o termo .NET na designação do produto. Nesta versão, foram adicionadas bastantes novos recursos, incluindo:
- Editar e Continuar
- Avaliação de expressões quando no Design;
- Melhoria no conversor VB-para-VB.NET;[5]
- Palavra-chave Using, simplificando a utilização de objetos que necessitam do padrão Dispose para libertar recursos;
- Suporte para o tipo de dados inteiro sem sinal, muito utilizado em outras linguagens;
- Programação genérica;[6]
- Operator overloading;[7]
- Comentários em XML que podem ser processados por utilitários tais NDoc para produzir documentação "automática";
- Operador
IsNot
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]
Visual Basic 2005 Express
Como parte da linha de produtos Visual Studio, a Microsoft criou um conjunto de ambientes de desenvolvimento gratuitos para aprendizes: a série Visual 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]
Visual Basic 2008 (VB 9.0)
O Visual Basic 9.0 foi lançado juntamente com o Microsoft .NET Framework 3.5, a 19 de novembro de 2007. Nesta versão, a Microsoft adicionou bastantes novos recursos, tais como:
- O operador condicionante
If(boolean, value, value)
, para substituir a funçãoIIf
. - Tipos anónimos.
- Suporte para LINQ.
- expressões Lambda.
- literais XML.
Visual Basic 2010 (VB 10.0)
Em 2007, a Microsoft planejou a utilização de DLR para o Visual Basic 10, conhecido como VBx.[12] Contudo, a partir de Agosto de 2009, 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 como IronPython e IronRuby.[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.
Sintaxe VB.NET e VB
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
Críticas
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 (por default) por valor, não por referência. Detratores referem-se pejorativamente ao VB.NET como Visual Fred ou DOTNOT.[16] A 8 de Março de 2005, uma petição[17] foi criada em resposta à recusa da parte da Microsoft em estender o suporte[18] ao VB6.
Limitações
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 Gerados
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]
Ver também
Referências
- «What's new - Visual Basic». learn.microsoft.com (em inglês). Consultado em 8 de dezembro de 2022
- «Visual Studio 2019 version 16.9 Release Notes». learn.microsoft.com (em inglês). Consultado em 8 de dezembro de 2022
- 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 do original em 14 de junho de 2009
- Sherriff, Lucy (22 de fevereiro de 2005). «Real Software slams MS IsNot patent application». The Register. Consultado em 6 de abril de 2009
- Taft, Darryl K. (21 de fevereiro de 2005). «Real Software Slams Microsofts Patent Effort». eWeek. Consultado em 6 de abril 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
- «What's New in Visual Basic 2010». Microsoft. 2009. Consultado em 12 de Agosto de 2009
- Karl E. Peterson. «Microsoft Basic: 1976-2001,R.I.P.». vb.mvps.org. Consultado em 7 de Março de 2009
- «Petition to Microsoft». Consultado em 24 de maio de 2010. Arquivado do original em 7 de abril de 2014