Visual Basic .NET
| Язык программирования Visual Basic .NET | |
|---|---|
| Автор | Майкрософт |
| Дата происхождения | 2003 [1] |
| Последняя версия | 16.0 ( 2019 ) |
| Применение | Общий |
| Парадигмы | Мультипарадигма: структурированная , императивная , объектно-ориентированная , функциональная , управляемая событиями |
| Ввод | громкий |
| Общие расширения | vb, resx, vbproj, sln |
| Под влиянием | Visual Basic |
| Эталонная реализация | |
| Реализация | отладчик и компилятор |
| Операционная система | Windows Vista, Windows 7, Windows 8, Windows 8.1, Windows 10, Linux, macOS |
| Лицензия | лицензия апача |
| Веб-сайт | msdn.microsoft.com/it-it/vstudio/hh388573 |
Visual Basic .NET — это новая версия Visual Basic . Основные новые функции этого нового языка разработки .NET Framework заключаются в том, что он основан на объектах и компилируется.
Visual Basic, как и его аналог C# , является точкой соединения для многих прошлых инициатив Microsoft по развитию и таких технологий, как: COM и ActiveX , замененные полностью управляемыми объектными классами и сборками : for manage (от англ . manage ) означает, что управление памятью осуществляется автономно управляется сборщиком мусора . С помощью Visual Basic можно создавать: приложения Windows Forms, веб-службы, COM-компоненты, MQ, веб-службы, а также предназначенные для мобильных устройств с помощью библиотек Compact framework .
Microsoft объявила, что больше не будет выпускать каких-либо крупных обновлений для Visual Basic .NET.
Visual Basic — один из основных языков Visual Studio, пакета Microsoft для программистов, полностью основанного на .NET Framework.
История
Visual Basic .NET (VB 7)
Visual Basic .NET (внутренняя версия 7.0) появился на свет в 2002 году. Это был первый Visual Basic, разработанный на основе .NET 1.0 Framework. Хотя коммерчески это преемник VB6, на самом деле единственная общая черта — это синтаксис, подобный VB.
Эта версия поддерживала парадигму объектно-ориентированного программирования с такими функциями, как наследование, полиморфизм и инкапсуляция. Мы добавляем расширенное управление памятью (благодаря сборщику мусора ) и указатели, и все это в полностью управляемой и строго типизированной среде .
В дополнение к более классическим типам и библиотекам, присутствующим в каждом языке, таким как ввод-вывод, форматирование строк, математические и статистические вычисления и т. д., эта версия языка уже поддерживает многопоточность, отражение, настраиваемые атрибуты, распределенное программирование посредством удаленного взаимодействия и программирование COM-объектов. .
Visual Basic .NET 2003 (VB 7.1)
С версией Framework 1.1 Microsoft выпустила новую версию Visual Studio (Visual Studio 2003), а вместе с ней и новые версии включенных языков, включая Visual Basic .NET 2003 (внутренняя версия 7.1). Помимо улучшения некоторых библиотек с точки зрения производительности, таких как фоновый компилятор, в этом выпуске была добавлена поддержка .NET Compact Framework , позволяющая программистам разрабатывать приложения для мобильных устройств .
Visual Basic 2005 (VB 8)
В 2005 году с версией 2.0 Framework была выпущена новая версия Visual Basic с торговым названием Visual Basic 2005 , которое впервые оставляет суффикс .NET. В эту версию добавлено много новых функций программирования, в том числе:
- дженерики
- пользовательские события
- новые объекты ядра для синхронизации потоков
- частичные классы с оператором Partial Class
- псевдопространство имен My , упрощающее доступ ко многим часто используемым методам
- квалификатор глобального пространства имен ( global )
- XML-комментарии для комментариев к вашим методам
- перегрузка оператора
- определение новых типов, включая unsigned и nullable .
Кроме того, появились новые ключевые слова:
- Продолжать
- Не является
- Мой
- Попробуйте
- С использованием
Кроме того, были выполнены сотни обновлений методов фреймворка, распределенных в различных пространствах имен, таких как ввод-вывод, безопасность, криптография, многопоточность и другие.
Visual Basic 2008 (VB 9)
Visual Basic 2008 был выпущен рано 19 ноября 2007 г. и был реализован на .NET 3.5 Framework с выпуском Visual Studio 2008 . В этой версии языка добавлены инновационные функции, такие как литералы XML и LINQ . Для поддержки LINQ было введено множество новых функций, включая анонимные типы , вывод типов, лямбда -выражения и методы расширения. Также было интегрировано использование новых платформ, реализованных в версии 3.0 .NET, в том числе:
- Entity Framework , позволяющий работать с объектной моделью даже на базах данных;
- Windows Presentation Foundation — новое пространство имен, содержащее классы для разработки окон или веб-интерфейсов пользователя;
- Windows Communication Foundation — новое пространство имен, упрощающее использование методов распределенного программирования;
- Workflow Foundation для создания приложений или сборок рабочих процессов, которые затем могут быть реализованы в любом приложении .NET;
- Card space, новая технология централизации логинов в веб-системах.
Кроме того, использование языка было расширено за счет использования новой среды разработки Visual Studio 2008 для создания приложений с технологией Silverlight на основе WPF .
Visual Basic 2010 (VB 10)
В апреле 2010 года Microsoft выпустила Visual Basic 2010.
Visual Basic 2012 (VB 11)
Visual Basic 2012 был выпущен вместе с .NET Framework 4.5.
Visual Basic 2015 (VB 14)
Visual Basic 2015 (кодовое название VB «14.0») был выпущен одновременно с выпуском Visual Studio 2015.
Visual Basic 2017 (VB 15)
Visual Basic 2017 (кодовое название VB «15.0») был выпущен одновременно с выпуском Visual Studio 2017 (15.33, 15.5, 15.8). В нем представлены новые методы рефакторинга , позволяющие организовать исходный код одним действием. [2] [3]
Visual Basic 2019 (VB 16)
Visual Basic 2019 (кодовое название VB «16.0») был выпущен одновременно с выпуском Visual Studio 2019. Это первая версия Visual Basic, ориентированная на новую платформу Microsoft .NET Core . [3]
Примеры
Привет, мир
Пример в классическом Visual Basic (6.0 и более ранние версии):
Private Sub Command1_Click ()
MsgBox "Привет, мир!"
Конец сабвуфера
Пример в Visual Basic .NET с новым классом MessageBox:
Private Sub button1_Click ( отправитель ByVal как System . Object , ByVal и как System . EventArgs ) Обрабатывает button1 . Нажмите Окно сообщений . Show ( "Привет, мир!" , "Пример заголовка" , MessageBoxButtons . OK , MessageBoxIcon . Информация ) End Sub
Пример в Visual Basic .NET со старой функцией Msgbox:
Private Sub button1_Click ( отправитель ByVal как System . Object , ByVal и как System . EventArgs ) Обрабатывает button1 . Нажмите Msgbox ( «Привет, мир» ) End Sub
В приведенном выше примере показан новый синтаксис, который заменяет классический MsgBox . Отображение сообщения осуществляется методом Show класса MessageBox . Обратите внимание, что обычно для вызова метода необходимо создать экземпляр класса. Однако в этом случае метод типа Shared (т . е. shared ) также может быть вызван без создания экземпляра класса. Однако старый синтаксис MsgBox также поддерживается новой платформой разработки. Создание экземпляра класса означает создание объекта типа, определенного классом.
Совместимость между классической версией (VB 6) и новыми версиями VB.NET гарантируется библиотекой Microsoft.VisualBasic . Эта библиотека была разработана для обеспечения постепенного перехода от старого режима программирования к новым компонентам языка VB.NET и фреймворка .NET. Поэтому не рекомендуется использовать эту библиотеку при создании новых проектов.
Делегат
Делегаты — это указатели на функции, которые можно использовать при обработке событий, полезные в асинхронном программировании.
Модуль Module1
Public Delegate Sub dTest
Sub Main ()
Dim temp как новый dTest ( AddressOf Test )
'синхронный вызов
temp . вызывать
' темп асинхронного вызова . BeginInvoke ( New AsyncCallback ( AddressOf EndTest ), temp )
Console . WriteLine ( "ОК" )
Консоль . Конечная сабвуфер ReadLine
Sub Test () 'Вот длинная
End Sub обработка
Sub EndTest ( ByVal ar As iAsyncResult )
ar . Асинхронное состояние . Консоль EndInvoke ( ar )
. Writeline ( "EndTest" ) End Sub End Module
Характеристики языка
Что касается соответствующего C#, то исходные коды, написанные на VB.NET, обычно компилируются в соответствии с критериями JIT : преобразование в машинный код (т.е. выполняемое непосредственно ЦП) происходит по запросу только при загрузке и выполнении программы. В первом случае исходный код преобразуется платформой в промежуточный код, называемый CIL , и только при выполнении программы CLR преобразует CIL в машинный код по мере его выполнения. Вторая возможность — это так называемая компиляция Ngen , которая позволяет за один раз преобразовать весь CIL-код в машинный код.
Возможности Visual Basic .NET, отсутствующие в C#
- Переменные могут быть объявлены с помощью конструкции WithEvents;
- Автоподключение событий: VB.NET использует команду Handles для их обработки;
- Использование структуры With…End With для прямого доступа к функционалу объекта;
- Метод IsNumeric для проверки возможности преобразования (приведения) строки в число;
- XML-литералы; [4]
- Прямое объявление дат с использованием синтаксиса #1/1/2000#;
- Модули (аналог статических классов);
- Прямой доступ к членам модуля (см . пример « Сейчас» )
- Пространство имен
My.*; [5] - COM-компоненты и взаимодействие лучше работают с объектами во время выполнения [6].
- Пространства имен могут быть включены в проект, чтобы не приходилось каждый раз вызывать их в различных файлах;
- Встроенные исключения, отфильтрованные из логического выражения с помощью блока «Когда выражение». [7] ;
- Другой синтаксис в Linq To Objects , где, среди прочего, можно опустить последний оператор «выбрать», чтобы получить список объектов напрямую.
Переход с VB6 на VB.NET
Хотя многие программисты верили в обновление языка, на самом деле VB.NET и VB несовместимы. В среду разработки интегрирован конвертер, который, тем не менее, гарантирует частичное преобразование кода. В большинстве случаев требуется его полная переработка, поскольку метод программирования превратился из императивного (хотя и основанного на событиях) в объектно-ориентированный.
Чтобы использовать VB.NET
VB.NET — это бесплатный язык, и его компилятор можно загрузить из раздела загрузок на сайте Microsoft . Кроме того, также доступна полностью бесплатная версия Visual Studio под названием Express . Кроме того, из версии Visual Studio 2013 есть также бесплатная версия под названием «Сообщество», которая имеет некоторые ограничения в коммерческой сфере, но в остальном идентична версии «Профессиональная». Написание кода Visual Basic также можно выполнить с помощью любого текстового редактора.
Существует также многоплатформенный компилятор с открытым исходным кодом , который благодаря проекту Mono может компилироваться в средах, отличных от Windows , таких как macOS и Linux .
Примечания
- ^ История Visual Basic , на max-visual-basic.com , Copyright © 2009-2010 Max Visual Basic. Проверено 21 января 2014 г. (архивировано из оригинала 15 января 2014 г.) .
- ^ Джавиддис , Примечания к выпуску Visual Studio 2017 15.9 , на docs.microsoft.com . Проверено 14 февраля 2020 г. .
- ^ a b Кэтлин Доллард, Что нового в Visual Basic — Visual Basic , на docs.microsoft.com . Проверено 14 февраля 2020 г. .
- ^ Джонатан Аллен, Нужны ли C # XML-литералы VB9? , на infoq.com . Проверено 13 января 2009 г.
- ^ [1]
- ^ Ранний против. Late Binding , на visualbasic.about.com (архивировано из оригинала 25 февраля 2015 г.) .
- ^ MSDN: Try... Catch... Заявление finally (Visual Basic)
Библиография
- Visual Basic 2010 (2010) ISBN 978-88-203-4469-6 - Д. Бочиккио, К. Чивера, М. Де Санктис, Р. Голиа, А. Леончини, М. Леончини, С. Мостарда
- Visual Basic 2019 Д. Бокиккио, К. Чивера М. Леончини, С. Мостарда, М. Тумиати ISBN 978-88-203-8466-1
Связанные элементы
Другие проекты
Внешние ссылки
- Сайт Microsoft на VB.NET , на microsoft.com .
- ( EN ) Сайт Microsoft на VB.NET , на msdn.microsoft.com .
- Группа пользователей Italiano dot NET на сайте ugidotnet.org .
- ( EN ) Реализация VB.NET на Mono , на go-mono.org . Проверено 4 мая 2005 г. (архивировано из оригинала 23 октября 2005 г.) .