Visual Basic .NET — найсучасніша BASIC-базована мова програмування. Станом на лютий 2022 року найновішою є версія VB.NET 2022 — частина VS 2022.
Працює ця мова на базі .NET- фреймворку (працює за допомогою CLR), для роботи з яким також розроблена мова програмування C#, до 2005 року існувала J#, а починаючи з 2010 додана F#. З виходом .Net Core шаблони для VB.NET не були включені, тобто на ньому можна було писати тільки для .NET Framework, а для .Net Core тільки деякі бібліотеки, що викликало думку, що розвиток мови припинений, але з виходом .Net 5 додані усі шаблони за винятком Unity-проєктів, для яких і надалі може слугувати як мова розробки бібліотек.
VB.NET — є першою з сімейства повністю об'єктноорієнтованою мовою, у ній підтримується всі основні принципи ООП, за винятком множинного успадкування.
VB.NET розвивається як частина Visual Studio починаючи з 2001 року, перший офіційний реліз у 2002 (посів місце Visual Basic і відповідно версії нумеруються починаючи з числа 7)
Visual Basic.NET (VB 7.0) — у 2002 році з Visual C# і ASP.NET.
Visual Basic.NET 2003 (VB 7.1) — з .NET Framework 1.1.
Visual Basic 2005 (VB 8.0) — кінець жовтня 2005 року, у складі Visual Studio 2005 (.NET 2.0), частково підтримує проєкти попередньої версії.
Visual Basic 2005 Express — урізана безплатна версія не для комерційних цілей.
Visual Basic 2008 (VB 9.0) — Visual Studio 2008 (.NET 3.5, у перших релізах — 3.0), повністю підтримує проєкти попередньої версії.
Visual Basic 2008 Express — урізаний попередній.
Visual Basic 2010 (VB 10.0) — Visual Studio 2010 (.NET 4.0), повністю підтримує дві попередні версії, призначена для програмування під віндовс від XP до 7.
Visual Basic 2010 Express — урізаний попередній.
Visual Basic 2012 (VB 11.0) — Visual Studio 2012 (.NET 4.5), призначена для Windows 8 та Windows Store (частково, без тайл-інтерфейсу та власне Windows Store, підтримується також Windows 7 і Windows Vista за умови встановлення фреймворку), повністю підтримує усі версії .NET від 1.1 тобто дозволяє програмувати для попередніх версій Windows починаючи з Windows 2000.
Visual Basic 2012 Express — урізаний попередній (існує тільки як частина Visual Studio Express, бо Microsoft починаючи з цієї версії не випускає окремих мов у експрес-варіантах).
Visual Basic 2013 (VB 12.0) — Visual Studio 2013 (.NET 4.5.1 та 4.5.2), призначена для Windows 8.1 та Windows Store, за системними вимогами та можливостями (при застосуванні з попередніми версіями) не відрізняється від попереднього випуску, тільки не підтримує розробку під Windows XP. Visual Studio 2013 і відповідно Visual Basic .NET має наступні Update:
Visual Studio 2013 Update 1 — листопад 2013.
Visual Studio 2013 Update 2 — травень 2014.
Visual Studio 2013 Update 3 — серпень 2014.
Visual Studio 2013 Update 4 — листопад 2014.
Visual Basic 2015 (VB 14.0) — Visual Studio 2015 (.NET 4.6 та 4.6.1), призначена для Windows 10, але й надалі підтримує розробку для старших версій як попередня.
Visual Studio 2013 Update 1 — листопад 2015.
Visual Studio 2013 Update 2 — березень 2016.
Visual Studio 2013 Update 3 — червень 2016.
Visual Basic 2017 (VB 15.0) — Visual Studio 2017 (.NET 4.6.x та 4.7.x), призначена для Windows 10, але й надалі підтримує розробку для старших версій як попередня. Регулярно оновлюється разом з Visual Studio.
Visual Basic 2019 (VB 16.0) — Visual Studio 2019 (.NET 4.7.x та 4.8.x), призначена для Windows 10, але й надалі підтримує розробку для старших версій як попередня. Регулярно оновлюється разом з Visual Studio.
Visual Basic 2022 (VB 16. x) — Visual Studio 2022 (.NET Framework 4.7.x, 4.8.x та .Net 5, 6, 7, 8, 9), призначена для Windows 10 та 11, а також кросплатформної розробки (Windows 11, macOS, Linux, Android, iOS), але й надалі підтримує розробку для старших версій як попередня. Регулярно оновлюється разом з Visual Studio.
Починаючи з 2013 року Express замінено на Community Edition, що є повною версією з обмеженнями комерційного використання, тобто малі команди та індивідуальні розробники можуть користуватись нею безплатно.
Назва мови програмування
VB — абревіатура від Visual Basic — безпосереднього предка мови та .NET — використовувана платформа. (хоча повна назва мови — Visual Basic .NET її часто називають VB.NET для диференціації від попередніх версій така ситуація, імовірно, триватиме до повного виходу з ужитку версії 6.0).
Особливості мови
Реалізовано всі можливості CLR з деякими надбудовами (у більшості випадків це так званий синтаксичний цукор).
У зв'язку з наявністю традиційних назв типів у мові є також шість специфічних типів, що застосовуються поряд з загальновживаними, а саме:
Тип
BASIC-аналог
Опис
Int16
Short
16-бітне знаковане ціле число
UInt16
UShort
16-бітне беззнакове ціле число
Int32
Integer
32-бітне знаковане ціле число
UInt32
UInteger
32-бітне беззнакове ціле число
Int64
Long
64-бітне знаковане ціле число
UIn64
ULong
64-бітне беззнакове ціле число
Вважається, що ці назви зсуваються зі зміною технологій обчислення, тобто коли набудуть поширення 128-бітні процесори, усі назви посунуться, тому що вони не прив'язані до конкретної бітності, а є чвертю, половиною та повною бітностями, для системи з найвищою бітністю (на даний час - AMD64 / Intel64).
Опис статичного класу здійснюється конструкцією «Module … End Module», що створює ілюзію ніби у мові є процедури, які не належать ніякому класу, бо доступ до всіх членів такого класу (за відсутності конфліктів імен) здійснюється через загальний простір імен. Це можна проілюструвати наступними прикладами:
Функції вимагають вказання класу до якого належать.
Особливим також є формування текстових констант: мова не підтримує так званих esc-послідовностей, тобто для вставки у текстову константу деяких символів необхідно використовувати вбудовані константи, наприклад:
Особливим є обмеження текстових констант їх обмежують символи прямі лапки " але пара прямих лапок не обмежує константу, а служить заміною символу у ній в середині, тобто константа описана виразом: "This is «„word“» inside quotes" міститиме наступне значення This is «word» inside quotes
Також мова не має ключового слова для визначення розширення, тобто розширення класу пишеться наступним чином.
В коді такі функції використовуються як звичайні члени відповідного класу, хоча насправді вони є статичними функціями де екземпляр класу є першим аргументом.
спрощені конструкції доступу до системи (наприклад до CurrentCulture), широкі можливості форматування даних при виводі
широкі можливості форматування даних при виводі
Недоліки
Успадковане від предка розхлябане приведення типів по замовчуванню та пізнє зв'язування (треба вимикати, режимом Option Strict).
Досить велика, але рідко потрібна (для забезпечення належної роботи код необхідно переписувати) бібліотека сумісності з Visual Basic, починаючи з 2010 (10.0, .NET 4.00) — відсутня.
C-подібні конструкції, що не вписуються у синтаксис (даний недолік — умовність, до якої досить швидко звикається).
Переваги
Автоматичне визначення типу змінних з присвоюваного значення (вигідне при використанні у невеликих фрагментах коду таких, як наприклад, методи).
Поєднання простоти та зрозумілості синтаксису з широкими можливостями .NET.
Наявність зручних BASIC-подібних конструкцій (яких не було у попередніх мовах).
Легка інтеграція з офісними програмами (аналогічний базовий синтаксис).