Visual Basic (VB) is een reeksprogrammeeromgevingen enprogrammeertalen uitgebracht doorMicrosoft. Het doel van Visual Basic is de ondersteuning van het bouwen van grafische applicaties op een visuele manier, dat wil zeggen, zo veel mogelijk via directe grafische manipulatie van elementen in plaats van het expliciet invoeren van programmacode.
Visual Basic is in de loop van zijn geschiedenis sterk van karakter veranderd; de gebruikte programmeertaal heeft zo sterke wijzigingen ondergaan dat de huidige taal van een volkomen ander soort is dan de oorspronkelijke.
Besloten werd om hiervoor het principe van hetvisueel programmeren te gebruiken, een principe dat, evenals de principes van Windows zelf, uiteindelijk zijn grondslag vindt in hetSmalltalk-project vanXerox PARC. Visual BASIC 1.0 was de eerste ontwikkelomgeving van Microsoft die deze werkwijze ondersteunde.
Ook QuickBASIC en zijn ontwikkelomgeving werden voor het visueel programmeren geschikt gemaakt. Het resultaat,Visual BASIC for DOS, was qua programmeertaal niet 100% uitwisselbaar met de Windows-versie.
Versie 5.0 werd alleen uitgebracht voor 32-bits, maar met ondersteuning van conversie heen en terug tussen 4.0 en 5.0. Het ondersteunde het schrijven van zelf gedefinieerde klassen, zowel voor interface-elementen (custom user controls) als niet-GUI-elementen.
Hiermee had VB ook als programmeertaal de belangrijkste kenmerken vanobjectoriëntatie, maar niet in dezelfde mate als bijvoorbeeldObject Pascal ofC++.
Een van de vernieuwingen in versie 6.0 was de ondersteuning vanwebapplicaties.
De code die men schrijft voor Visual Basic 1.0 t/m 6.0 wordt gecompileerd tot eenuitvoerbaar bestand dat vervolgens zelfstandig gedraaid wordt onderWindows.Deze maakt gebruik van de "runtime", een aparteDLL die alle ondersteuning voor Visual Basic bevat die tijdens uitvoering nodig is; voor versie 6 is dat MSVBVM60.dll. Deze is vrij verkrijgbaar als download opmicrosoft.com, en wordt vanafWindows 98 meegeleverd.
Voorbeeldcode:
PrivateSubForm_Load()DimstrVoorbeeldzinAsStringDimenmAntwoordAsVbMsgBoxResultstrVoorbeeldzin="Hello World"enmAntwoord=vbNoMsgBoxstrVoorbeeldzin,vbInformationenmAntwoord=MsgBox("Wilt u dit programma afsluiten?",vbQuestionOrvbYesNo,"Hello World")IfenmAntwoord=vbYesThenUnloadMeEndIfEndSub
Visual Basic is ook ingevoerd alsscripttaal, aanvankelijk inMicrosoft Excel, later in alleMicrosoft Office-applicaties. Deze scripttaal heetVisual Basic for Applications en is qua taal en ondersteunde GUI-elementen grotendeels uitwisselbaar met Visual Basic 6. Het belangrijkste praktische verschil is dat de vervaardigde code niet wordt uitgevoerd als een zelfstandige applicatie, maar binnen een draaiende Office-applicatie.
ZieVBScript voor het hoofdartikel over dit onderwerp.
Ook het scripten van dynamische webpagina's inASP is mogelijk in Visual Basic; de daarvoor ontwikkelde variant heetVBScript. VBScript-code draait dus niet als zelfstandig programma of in eenOffice-applicatie, maar draait in eenwebserver en/of in dewebbrowser tijdens het afhandelen van eenpaginaverzoek.
Visual Basic 7.0 en latere versies hebben een grote oppervlakkige gelijkenis met de zojuist genoemde eerdere Visual Basics, maar zijn op een totaal nieuwe ondergrond gebaseerd: het.NET-framework. Hiermee wordt Visual Basic een door en doorobjectgeoriënteerde taal, zeer vergelijkbaar metC# ofJava. Daarnaast verandert het karakter van de naam Visual Basic enigszins: die slaat nu specifiek op de programmeertaal, omdat de ondersteunende softwarebibliotheken en de runtime-ondersteuning ook worden gebruikt door alle andere .NET-talen, zoalsC#. Ook heeft de taal een openbare specificatie.
Zoals de runtime van Visual Basic 6 is ook de .NET-runtime (beter bekend als het .NET-framework) vrij verkrijgbaar als download opmicrosoft.com, en wordt daarnaast meegeleverd met automatische Windows-updates enWindows Vista.
Visual Basic is oorspronkelijk gebaseerd op de programmeertaalBASIC. Tot versie 5 lijken Visual Basic-programma's soms ook nog op BASIC, met regelnummers enGOTO-sprongen. Het procedureleparadigma, met subroutines en functies die elkaar aanroepen of alsevent handler fungeren, wordt steeds sterker, en ook de object-oriëntatie, met klassen, het aanmaken en opruimen van objecten, en overerving. Visual Basic .NET heeft geen enkele gelijkenis met het oorspronkelijkeBASIC, maar lijkt op talen alsC# (waar het direct door automatische decompilatie in kan worden omgezet of uit worden gegenereerd) enJava ofObject Pascal.
Systemen vergelijkbaar met Visual Basic 6 of eerder
Een aantal softwarepakketten kan Visual Basic (6 en eerder) gedeeltelijk interpreteren. Ze zijn niet broncodecompatibel, maar de gelijkaardigheid van de ontwikkelomgevingen staat het toe de Visual Basic-expertise snel toe te passen.
PowerBASIC (Windows – DOS) – Creëert kleine en snel ladende standalone executables.
DarkBASIC (Windows) – BASIC-taal met DirectX-mogelijkheden speciaal voor het programmeren van games.
REALbasic (Macintosh – Windows – GNU/Linux) – Een taal die dezelfde keywords, API, en design-mode interface heeft.
Liberty BASIC (Windows) – Voor MSDOS console BASIC en of Windows (XP, Vista, Windows 7)
SimpleBASIC (Windows – GNU/Linux) – Visual Basic met meerdere mogelijkheden en makkelijker. (In constructie)
Gnome Basic (GNOME, GNU/Linux) – bedoeld om VBA-functionaliteit te bieden inGNOME en aan vrije software in het algemeen. Veel ontwikkelaars van dit project werken nu aanMono.
XBasic (Windows/Linux) – bedoeld om cross-platform te kunnen ontwikkelen in BASIC.