Referanseløs: Denne artikkelen inneholder en liste over kilder, litteratur eller eksterne lenker, men enkeltopplysninger lar seg ikke verifisere fordi det mangler konkrete kildehenvisninger i form av fotnotebaserte referanser. Du kan hjelpe til med å sjekke opplysningene mot kildemateriale og legge inn referanser. Opplysninger uten kildehenvisning i form av referanser kan bli fjernet.
Microsoft kjøpte rettighetene til idéen (Q-Basic), av Alan Cooper i 1988 og videreutviklet den med Coopers hjelp til Visual Basic 1.0, som kom på markedet 20. mai1991.
Språket er beregnet på å utvikle applikasjoner som kjøres under operativsystemetWindows og benyttes også i Microsoft Office som makrospråk, da med benevnelsen VBA (Visual Basic for Applications).
Den nyeste generasjonen kom sammen med Microsoft sitt .NET-rammeverk i 2001 og blir kalt Visual Basic .NET.
Visual Basic .NET skiller seg veldig fra tradisjonell BASIC, ved at det er 100 % objektorientert.
Dermed kan man si at disse er to forskjellige språk.
Visual Basic .NET støtter fremdeles flere av funksjonene som var tilgjengelig i Visual Basic 6.0 gjennom Microsoft.VisualBasic.
Men det er kjent at det er ofte veldig vanskelig å konvertere et Visual Basic 6.0 prosjekt til .NET, og som oftest er den raskeste og enkleste måten å flytte et gammelt Visual Basic 6.0 prosjekt til Visual Basic .NET å skrive hele programmet på nytt. Enkelte funksjoner er derimot de samme og Visual Basic .NET inneholder en funksjon for å konvertere gamle Visual Basic 6-prosjekter til .NET. Et tillegg til Visual Basic 6 som forteller hva en må passe på før prosjektet konverteres er også tilgjengelig.
Noen forskjeller man kan nevne, er at Visual Basic i utgangspunktet var et 16-bits programmeringsspråk, men fra og med versjon 4 har vært et 32-bits programmeringsspråk. Det er likevel spor av 16-bitstiden i 32-bitsversjonene.
Dette ser man ved at Integer-datatypen er 16-bit i klassisk Visual Basic, i Visual Basic .NET er den 32-bit.
Samtidig støtter Visual Basic .NET en funksjon som kalles interfaces, dette ble kun støttet av Visual Basic 6.0 ved import fra COM+/ActiveXDLL-er, og kunne ikke defineres i Visual Basic.
Visual Basic 4.0 og fram til 6.0 støttet også klasser, men på en forholdsvis primitiv måte og det var en rekke begrensninger. Blant annet kunne ikke klasser arve, noe som gjør begrepet klasser relativt upassende.
.NET 2.0
I 2005 kom versjon 2.0 av .NET rammeverket. Det gir mange nye muligheter.
Hvis noen har lyst til å begynne å programmere Visual Basic .NET gir Microsoft nå bort en express edition av Visual Basic .NET. Det er noen få begrensninger på denne versjonen i forhold til betalversjonen med hensyn til databaser osv. Men det er ikke noe du merker noe til hvis du skal lære deg språket.