Jelikož jsem se v poslední době narazil na několik lidí, kteří mají ve verzích Visual Basicu zmatek, rozhodl jsem se sepsat o verzích jazyka Visual Basic kratičké pojednání.
Jazyk Visual Basic, jak jej známe dnes, se od původního jazyka BASIC (vzniklého někdy kolem roku 1964) liší takřka k nepoznání. Z původního jazyka nezůstalo vlastně téměř nic, pouze mírně nezvyklá syntaxe. Někdy koncem osmdesátých let byla velmi populární verze QBASIC. Jejím autorem byla firma Microsoft a tento jazyk byl součástí systému MS-DOS. S nástupem operačního systému Windows se začala stupňovat potřeba vyvíjet snadno a rychle aplikace pro tuto novou platformu, a tak přišel Visual Basic. Mnoho konceptů vývojového prostředí, jak jej známe dnes, pochází právě z počátků jazyka Visual Basic. To, že si vzhled okna "nakreslíme" v designeru a pak jen dopíšeme kód, to vše pochází právě z raných verzí Visual Basicu.
Postupně přišly verze Visual Basic 2, 3 (pro Windows 3.1), 4, 5 a 6 (v roce 1998). V každé se objevilo něco nového a verze Visual Basic 6 je ještě dnes poměrně populární. Samotný jazyk Visual Basic byl populární hlavně ve světě, u nás jej někteří nepovažovali ani za programovací jazyk, což v raných verzích VB nebylo nic divného. Horší je to, že i dnes si spousta lidí myslí, že Visual Basic .NET, nová generace jazyka Visual Basic je pomalá a nic moc neumí. To samozřejmě není pravda.
Mnoho lidí na staré verze VB (do verze 6 včetně) nadávalo, protože tento jazyk nebyl silně typový (nemusely se deklarovat proměnné, datový typ se určil podle přiřazené hodnoty), což byla někdy výhoda a někdy nevýhoda. Vždy ale bylo možné psát silně typový kód a nevyužívat lákavé možnosti proměnné nedeklarovat. Málokdo to ovšem vydržel. Také tyto staré verze neměly úplně ideální objektový model, sice verze 6 uměla třídy a dědičnost, ale nic moc extra to nebylo.
V roce 1998 tedy přišla verze 6 a někde kolem roku 2000 začal Microsoft vyvíjet .NET Framework 1.0. Jako platforma byl .NET velmi silný a když se přemýšlelo, jaké programovací jazyky implementovat, Microsoft sáhnul po oblíbeném Visual Basicu, který ovšem musel přizpůsobit pro potřeby .NET Frameworku. Z původního VB6 toho moc nezbylo, většina věcí se změnila a byla zrušena spousta funkcí, které VB měl, protože je nahradily funkce .NETu. V roce 2002 bylo uvolněno vývojové prostředí Visual Basic .NET 2002, které pracovalo nad rozhraním .NET Framework 1.0. Tato verze byla poměrně pomalá, hned o rok později přišel Visual Basic .NET 2003, který běžel na verzi .NET Framework 1.1.
Nástup .NET Frameworku z podle zlých jazyků "prasáckého" jazyka udělal jazyk čistý a silně typový. Ve Visual Basic .NET je kompletní podpora pro objektově orientované programování, takže tento jazyk je opravdu plnohodnotný.
S nástupem .NET Frameworku 2.0 přišel Visual Basic .NET 2005, který je dnes velmi populární a oblíbený, je spíš podobný jazyku C#, který si získal též velkou oblibu hlavně díky céčkovské syntaxi, která mnoha lidem vyhovuje. V posledních měsících přišel .NET Framework 3.5 a prostředí Visual Basic .NET 2008, kde nám do jazyka Visual Basic přišla spousta nových syntaktických konstrukcí (Lambda výrazy, LINQ, Extension methods atd.), které´umí spoustu zajímavých věcí.
Je poměrně velký problém zorientovat se ve verzích a pokud bychom měli být přesní, je ještě třeba rozlišovat mezi vývojovým prostředím (Visual Basic 6, Visual Basic .NET 2002, Visual Basic .NET 2003, Visual Basic .NET 2005 a Visual Basic .NET 2008) a verzemi jazyka jako takového (Visual Basic 6, Visual Basic 7.0, Visual Basic 7.1, Visual Basic 8 (odpovídá verzi prostředí 2005) a Visual Basic 9 (odpovídá verzi prostředí 2008)).
I když v některých ohledech (třeba XNA) je Visual Basic tak trochu odsunut na druhou kolej, podporován je C#, stále platí, že VB.NET a C# jsou jazyky rovnocenné a s prakticky stejnými možnostmi (až na unsafe "prasečiny" v C#).
Microsoft nyní plánuje verzi jazyka VB X (X = 10 římsky), která opět zavádí některé zrušené nešvary, jako například silné typování. Budeme tedy moci proměnné deklarovat tak, jak jsme zvyklí, zkrátka pořádně, tak, jak se to má, ale nebudeme muset. Proslýchá se, že VB X má běžet na Dynamic Language Runtime, což mu přinese mnoho výhod a funkcí z dynamických jazyků, ale těžko říci, jestli to nebude spíš na škodu. Informací je málo a vydání je poměrně daleko, takže se necháme překvapit.