Wraz z pojawieniem się platformy.NET, ukazała się nowa wersja Visual Basica pod nazwą Visual Basic .NET.Środowisko programistyczne ma mechanizmy importu starszych wersji programów, jednak w pewnych sytuacjach mogą pojawiać się komplikacje.
Język Visual Basic zastosowano również w wielu rozbudowanych aplikacjach jakojęzyk skryptowy do tworzenia zarówno prostychmakr, jak i rozbudowanych aplikacji. Najbardziej znanym przykładem jestVisual Basic for Applications firmyMicrosoft zastosowany w pakietachMS Office.
Podobnie jak język programowaniaBASIC, Visual Basic zaprojektowano z myślą o łatwej nauce. Programiści mogą tworzyć proste i złożone aplikacjeGUI. Programowanie w VB jest kombinacją wizualnie aranżujących komponentów lub formantów w formularzu, określających atrybuty i działania dla tych komponentów oraz pisania dodatkowych linii kodu dla większej funkcjonalności. Ponieważ VB definiuje domyślne atrybuty i akcje dla komponentów, programista może opracować prosty program bez pisania wielu linii kodu. Programy zbudowane we wcześniejszych wersjach miały problemy z wydajnością, ale szybsze komputery i natywna kompilacja kodu sprawiły, że stało się to mniej problematyczne. Chociaż od 5 wersji programy VB mogą być kompilowane do natywnych plików wykonywalnych, to wciąż wymagają obecności 1 MB bibliotek „runtime”. Biblioteki „runtime” są domyślnie uwzględnione w systemieWindows 2000 i nowszych wersjach, ale nadal należy zainstalować rozszerzone komponenty środowiska wykonawczego. Wcześniejsze wersje systemuWindows (95/98/NT) wymagają, aby biblioteki środowiska wykonawczego były dystrybuowane wraz z plikiem wykonywalnym.
Formularze są tworzone za pomocą technik przeciągania i upuszczania. Kontrolki mają przypisane atrybuty i funkcje obsługi zdarzeń. Wartości domyślne są dostarczane podczas tworzenia kontrolki, ale mogą być zmieniane przez programistę. Wiele wartości atrybutów można modyfikować w czasie wykonywania na podstawie ingerencji użytkownika lub zmian w środowisku, tworząc dynamiczną aplikację, np. można dodać kod do obsługi zdarzenia zmiany rozmiaru formularza, aby zmienić położenie kontrolki, tak aby pozostawała wyśrodkowana na formularzu itp. Poprzez wstawienie kodu do procedury obsługi zdarzenia dla naciśnięcia klawisza w polu tekstowym, program może automatycznie tłumaczyć wielkość liter wprowadzanego tekstu, a nawet uniemożliwić wstawianie określonych znaków.
Visual Basic może tworzyćpliki wykonywalne (pliki EXE), formantyActiveX lub plikiDLL, ale służy przede wszystkim do tworzenia aplikacji systemu Windows i systemów baz danych interfejsów. Okna dialogowe o mniejszej funkcjonalności mogą być używane do zapewniania funkcji pop-up. Kontrolki zapewniają podstawową funkcjonalność aplikacji, podczas gdy programiści mogą wstawiać dodatkową logikę w odpowiednich procedurach obsługi zdarzeń. Na przykład rozwijane okno dialogowe automatycznie wyświetlające listę. Gdy użytkownik wybierze element, wywoływana jest procedura obsługi zdarzenia, która wykonuje kod, który programista stworzył. Alternatywnie komponent Visual Basic może nie mieć interfejsu użytkownika, a zamiast tego udostępnia obiekty ActiveX innym programom za pośrednictwem modelu obiektu składowego (COM). Pozwala to na przetwarzanie po stronie serwera lub na dodanie modułu.
Środowisko wykonawcze odzyskuje nieużywaną pamięć za pomocą liczenia odwołań, które zależą od zmiennych wychodzących poza zakres lub ustawionych na „nic”, unikając problemu przecieków pamięci, które są możliwe w innych językach. Istnieje duża biblioteka obiektów użytkowych, a język zapewnia podstawowe wsparcie dla programowania obiektowego. W przeciwieństwie do wielu innych języków programowania, Visual Basic zwykle nie rozróżnia wielkości liter, chociaż przekształca słowa w standardową konfigurację i wymusza od przypadków nazw zmiennych, aby były zgodne z przypadkiem wpisu w tabeli symboli. W porównaniach łańcuchów domyślnie rozróżniana jest wielkość liter.Kompilator Visual Basic jest udostępniany innym językom Visual Studio (C,C++). Jednak domyślnie ograniczenia w IDE nie pozwalają na tworzenie niektórych obiektów docelowych (modelowe bibliotekiDLL systemu Windows) i modele wątków, ale z biegiem lat programiści obeszli te ograniczenia.
Visual Basic 1.0 został wprowadzony w roku 1991. Możliwość tworzenia interfejsu użytkownika za pomocąprzeciągnij i upuść pochodzi z prototypu rozwiniętego przez Alana Coopera i jego firmę Tripod.Microsoft nawiązał współpracę z Cooperem w celu rozwinięcia Tripod w programowalny system form dla Windowsa 3.0 pod roboczą nazwą Ruby. Tripod nie zawierał w sobie żadnego języka programowania. Microsoft zadecydował o połączeniu Ruby z językiemBASIC w celu stworzenia Visual Basica. Ruby dawał możliwości ładowania dynamicznych bibliotek zawierających dodatkowe kontrolki[1].
Visual Basic 1.0 (maj 1991) został wypuszczony na platformęWindows podczas Comdex/Windows World w Atlancie, Georgia.
We wrześniu 1992 Visual Basic 1.0 został wypuszczony dlaDOSa. Język ten nie był w pełni kompatybilny z VB na platformę Windows. Za pomocąinterfejsu tekstowego przy użyciu rozszerzonegoASCII symulował wygląd interfejsu graficznego.
W listopadzie 1992 Visual Basic został wypuszczony w wersji 2.0. Środowisko programistyczne było łatwiejsze do używania, jak również szybkość uległa poprawie.
Latem 1993 Visual Basic pojawił się na rynku w dwóch wersjach: standardowej oraz profesjonalnej.
Visual Basic 4.0 z sierpnia 1995 umożliwiał tworzenie zarówno32-bitowych, jak i16-bitowych programów na platformęWindows. Pojawił się w trzech wersjach: Standard, Professional oraz Enterprise. Dawał on również możliwość pisania klas niezwiązanych bezpośrednio zinterfejsem użytkownika. Wcześniejsze wersje języka używały kontrolek VBX, podczas gdy wersja 4.0 wprowadziła kontrolki OLE (pliki z rozszerzeniem .OCX). Później zostały one nazwane kontrolkamiActiveX[2].
Wraz z pojawieniem się wersji 5.0 w lutym 1997Microsoft ograniczył język jedynie dla użytkowników 32-bitowej wersji Windowsa. Programiści, którzy preferowali pisanie programów 16-bitowych, mogli zaimportować programy napisane w 4.0 do wersji 5.0. Konwersja w drugą stronę była również możliwa. VB 5.0 wprowadził możliwość tworzenia własnych kontrolek, jak również kompilacji do natywnego kodu wykonywalnego w systemie Windows.
Wersja 6.0 z roku 1998 wprowadziła ulepszenia na wielu płaszczyznach. Od tej wersji możliwe było tworzenieaplikacji webowych.
Visual Basic mocno pochodzi z języka BASIC, a następnie został zastąpiony przez platformę .NET. Microsoft rozwinął wiele języków pochodnych z VB między innymi:
VBScript – język skryptowy pierwotnie zaprojektowany jako część technologiiASP w celu uniknięcia konieczności stosowania plików wsadowychMS-DOS w serwerachWWW wykorzystujących ASP. Podobnie jak językJavaScript, VBScript jest przeznaczonych do pisania skryptów wbudowanych w strony WWW i rozszerza możliwości klasycznych dokumentów HTML[3].
Bloki kodu, funkcje i pętle kończą się instrukcjami kończącymi, na przykład „End If”, zamiast konwencji nawiasów „{}” znanej z języków pochodnych odC.
Wielokrotne przypisywanie nie działa w tym języku. Wykonanie kodu „A = B = C” nie oznacza, że wartości A, B i C będą równe. Pod zmienną A zostanie przypisany wynik operacji logicznej „czy B = C?”, czyli prawda lub fałsz.
StałaboolowskaTrue ma wartość numeryczną równą −1. Dzieje się tak dlatego, gdyżtyp danych Boolean jest przechowywany jako 16-bitowyinteger ze znakiem (signed integer).
Operatory logiczne i bitowe są ujednolicone (w odróżnieniu np. odPerla).
Tworząc tablicę podajemy zakres indeksów, przez co podobnie jak w językuPascal, możemy utworzyć tablicę, która nie będzie indeksowana od 0 do n-1.
Domyślnym algorytmemzaokrąglanialiczb rzeczywistych do liczb całkowitych funkcjiRound, jest algorytm „od połowy do parzystej”[4].Round(2.5, 0) daje wynik 2, aRound(3.5, 0) zwróci 4.
Podczas operacji dzielenia operatorem „/”, liczby całkowite automatycznie są konwertowane do typu rzeczywistego, przez co wynik jest bardziej intuicyjny.
Jeżeli zmienna nie została zadeklarowana, lub podczas deklaracji nie został podany typ zmiennej, automatycznie otrzymuje ona typ „Variant”. Może to być zmienione za pomocą instrukcji DefType takich jak „DefInt”, „DefBool”, „DefVar”, „DefObj”, „DefStr”. Takich instrukcji jest w sumie 12 w specyfikacji Visual Basic 6.0.
DimnumberAsInteger=5SelectCasenumberCase1To5Debug.WriteLine("Between 1 and 5, inclusive")Case6,7,8Debug.WriteLine("Between 6 and 8, inclusive")Case9To10Debug.WriteLine("Equal to 9 or 10")CaseElseDebug.WriteLine("Not between 1 and 10, inclusive")EndSelect