Movatterモバイル変換


[0]ホーム

URL:


Перейти до вмісту
Вікіпедія
Пошук

Visual Basic .NET

Очікує на перевірку
Матеріал з Вікіпедії — вільної енциклопедії.
(Перенаправлено зVB.NET)

Статус версії сторінки

На цій сторінці показано неперевірені зміни

У Вікіпедії є статті про інші значення цього терміна:Visual Basic (значення).
Visual Basic .NET
Типclass-based programming languaged
Високорівнева мова програмування
strict programming languaged
event-driven programming languaged
мультипарадигмальна мова програмування
імперативна мова програмування
мова функціонального програмування і generic programming languaged Редагувати інформацію у Вікіданих
РозробникMicrosoft Редагувати інформацію у Вікіданих
Стабільний випускVisual Basic 2022 (17.9.2) (27 лютого2024; 23 місяці тому (2024-02-27))
Платформа.NET Framework, Mono і .NET Редагувати інформацію у Вікіданих
Операційна системаWindows, Android, Berkeley Software Distribution, iOS, Linux, macOS, Solaris і UNIX Редагувати інформацію у Вікіданих
ЛіцензіяApache Software License 2.0d Редагувати інформацію у Вікіданих
Репозиторійhttps://github.com/dotnet/vblang,https://github.com/dotnet/roslyn
Вебсайтdocs.microsoft.com/en-us/dotnet/visual-basic/ Редагувати інформацію у Вікіданих

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 — є першою з сімейства повністю об'єктноорієнтованою мовою, у ній підтримується всі основні принципиООП, за винятком множинного успадкування.

Частково також підтримується фреймворкомMono.

Історія

[ред. |ред. код]

VB.NET розвивається як частинаVisual Studio починаючи з 2001 року, перший офіційний реліз у 2002 (посів місце Visual Basic і відповідно версії нумеруються починаючи з числа 7)

  1. Visual Basic.NET (VB 7.0) — у 2002 році з Visual C# і ASP.NET.
  2. Visual Basic.NET 2003 (VB 7.1) — з .NET Framework 1.1.
  3. Visual Basic 2005 (VB 8.0) — кінець жовтня 2005 року, у складі Visual Studio 2005 (.NET 2.0), частково підтримує проєкти попередньої версії.
  4. Visual Basic 2005 Express — урізана безплатна версія не для комерційних цілей.
  5. Visual Basic 2008 (VB 9.0) — Visual Studio 2008 (.NET 3.5, у перших релізах — 3.0), повністю підтримує проєкти попередньої версії.
  6. Visual Basic 2008 Express — урізаний попередній.
  7. Visual Basic 2010 (VB 10.0) — Visual Studio 2010 (.NET 4.0), повністю підтримує дві попередні версії, призначена для програмування під віндовс від XP до 7.
  8. Visual Basic 2010 Express — урізаний попередній.
  9. 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.
  10. Visual Basic 2012 Express — урізаний попередній (існує тільки як частинаVisual Studio Express, бо Microsoft починаючи з цієї версії не випускає окремих мов у експрес-варіантах).
  11. 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:
    1. Visual Studio 2013 Update 1 — листопад 2013.
    2. Visual Studio 2013 Update 2 — травень 2014.
    3. Visual Studio 2013 Update 3 — серпень 2014.
    4. Visual Studio 2013 Update 4 — листопад 2014.
  12. Visual Basic 2015 (VB 14.0) — Visual Studio 2015 (.NET 4.6 та 4.6.1), призначена для Windows 10, але й надалі підтримує розробку для старших версій як попередня.
    1. Visual Studio 2013 Update 1 — листопад 2015.
    2. Visual Studio 2013 Update 2 — березень 2016.
    3. Visual Studio 2013 Update 3 — червень 2016.
  13. Visual Basic 2017 (VB 15.0) — Visual Studio 2017 (.NET 4.6.x та 4.7.x), призначена для Windows 10, але й надалі підтримує розробку для старших версій як попередня. Регулярно оновлюється разом з Visual Studio.
  14. Visual Basic 2019 (VB 16.0) — Visual Studio 2019 (.NET 4.7.x та 4.8.x), призначена для Windows 10, але й надалі підтримує розробку для старших версій як попередня. Регулярно оновлюється разом з Visual Studio.
  15. 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-аналогОпис
Int16Short16-бітне знаковане ціле число
UInt16UShort16-бітне беззнакове ціле число
Int32Integer32-бітне знаковане ціле число
UInt32UInteger32-бітне беззнакове ціле число
Int64Long64-бітне знаковане ціле число
UIn64ULong64-бітне беззнакове ціле число

Вважається, що ці назви зсуваються зі зміною технологій обчислення, тобто коли набудуть поширення 128-бітні процесори, усі назви посунуться, тому що вони не прив'язані до конкретної бітності, а є чвертю, половиною та повною бітностями, для системи з найвищою бітністю (на даний час -AMD64 /Intel64).

Опис статичного класу здійснюється конструкцією «Module … End Module», що створює ілюзію ніби у мові є процедури, які не належать ніякому класу, бо доступ до всіх членів такого класу (за відсутності конфліктів імен) здійснюється через загальний простір імен. Це можна проілюструвати наступними прикладами:

ModuleMainModuleSubMainConsole.WriteLine(Func1)Console.WriteLine(Func2)EndSubEndModuleModuleM1PublicFunctionFunc1()AsIntegerReturn1EndFunctionEndModuleModuleM2PublicFunctionFunc2()AsIntegerReturn2EndFunctionEndModule

Функції з різних просторів імен викликаються з головного простору імен.

ModuleMainModuleSubMainConsole.WriteLine(M1.Func1)Console.WriteLine(M2.Func1)EndSubEndModuleModuleM1PublicFunctionFunc1()AsIntegerReturn1EndFunctionEndModuleModuleM2PublicFunctionFunc1()AsIntegerReturn2EndFunctionEndModule

Функції вимагають вказання класу до якого належать.

Особливим також є формування текстових констант: мова не підтримує так званих esc-послідовностей, тобто для вставки у текстову константу деяких символів необхідно використовувати вбудовані константи, наприклад:

ConstTextConstant="First line"&vbCrLf&"Second line"

вставка «перенесення рядка»

Особливим є обмеження текстових констант їх обмежують символи прямі лапки " але пара прямих лапок не обмежує константу, а служить заміною символу у ній в середині, тобто константа описана виразом: "This is «„word“» inside quotes" міститиме наступне значення This is «word» inside quotes

Також мова не має ключового слова для визначення розширення, тобто розширення класу пишеться наступним чином.

PublicModuleListExtensions<Runtime.CompilerServices.Extension>PublicFunctionCountGreaterThan(lAsList(OfInteger),nAsInteger)AsIntegerReturnl.Where(Function(i)i>n).CountEndFunctionEndModule

В коді такі функції використовуються як звичайні члени відповідного класу, хоча насправді вони є статичними функціями де екземпляр класу є першим аргументом.

DimLAsNewList(OfInteger)From{1,2,3,4,5}DimGreater2=L.CountGreaterThan(2)

Порівняння з іншими мовами

[ред. |ред. код]

Найближчою (майже ідентичною) за функціональними властивостями єC#, найподібнішою за синтаксисом -VBA.

 VB.NETC#VBA
СинтаксисBASIC-подібний з вкрапленнями Cмайже ідентичний CBASIC-подібний
Об'єктна парадигмачасткова (як у .NET)часткова (як у .NET)у зародковому стані
Типізаціястрога з широкими, подекуди «розхлябаними», можливостями неявного приведеннястрога з можливостями неявного приведеннявільна з типом Variant
Компіляція (інтерпретація)компілятор вILкомпілятор в ILінтерпретатор
Специфіка C#C++ та інші тільки як скомпільовані бібліотекиможна включати unmanaged code (C++)обмежено, як скомпільовані бібліотеки
Специфіка VB.NETспрощені конструкції доступу до системи (наприклад до CurrentCulture), широкі можливості форматування даних при виводі широкі можливості форматування даних при виводі

Недоліки

[ред. |ред. код]
  • Успадковане від предка розхлябане приведення типів по замовчуванню та пізнє зв'язування (треба вимикати, режимом Option Strict).
  • Досить велика, але рідко потрібна (для забезпечення належної роботи код необхідно переписувати) бібліотека сумісності з Visual Basic, починаючи з 2010 (10.0, .NET 4.00) — відсутня.
  • C-подібні конструкції, що не вписуються у синтаксис (даний недолік — умовність, до якої досить швидко звикається).

Переваги

[ред. |ред. код]
  • Автоматичне визначення типу змінних з присвоюваного значення (вигідне при використанні у невеликихфрагментах коду таких, як наприклад, методи).
  • Поєднання простоти та зрозумілості синтаксису з широкими можливостями.NET.
  • Наявність зручнихBASIC-подібних конструкцій (яких не було у попередніх мовах).
  • Легка інтеграція з офісними програмами (аналогічний базовий синтаксис).
  • Легкість переходу з інших мов при потребі.

Приклад коду «Hello World!»

[ред. |ред. код]
ModuleMainModuleSubMainConsole.WriteLine("Hello World!")EndSubEndModule

Див. також

[ред. |ред. код]

Джерела

[ред. |ред. код]
Рівень
Низькорівневі
Високорівневі
Загального
призначення
Серверні
Запитів до баз
даних[суперечливо 1]
Розмітки тавекторної
графіки
[суперечливо 1]
Синхронні
Символьних та
чисельних обчислень
Квантових обчислень
Логічні
Академічні
Езотеричні
  1. абНемає загальноприйнятого рішення, чи вважати усі ці мови саме мовами програмування
Отримано зhttps://uk.wikipedia.org/w/index.php?title=Visual_Basic_.NET&oldid=46750798
Категорії:
Приховані категорії:

[8]ページ先頭

©2009-2026 Movatter.jp