stringtranslate.com

Visual Basic (классический)

Visual Basic (VB) до .NET , иногда называемый классическим Visual Basic , [1] [2]язык программирования третьего поколения , основанный на BASIC , и интегрированная среда разработки (IDE) от Microsoft для Windows, известная поддержкой быстрой разработки приложений (RAD) с графическим пользовательским интерфейсом (GUI), событийно-управляемым программированием , а также потреблением и разработкой компонентов с помощью технологии Component Object Model (COM).

VB был впервые выпущен в 1991 году. Последним релизом стала версия 6 (VB6) в 1998 году. 8 апреля 2008 года Microsoft прекратила поддержку VB6 IDE, переведя ее в статус устаревшей . Команда Microsoft VB по-прежнему поддерживает совместимость приложений VB6 с помощью своей программы «It Just Works» на поддерживаемых операционных системах Windows. [3]

Microsoft значительно изменила VB для технологии .NET и переименовала его в Visual Basic .NET (VB.NET), а затем позже переименовала его обратно в Visual Basic . Таким образом, Visual Basic может относиться к классической версии, версии .NET или к обеим. Эта статья о версиях до .NET.

Так же, как BASIC изначально задумывался как простой для изучения, Microsoft подразумевала то же самое для VB. [4] [5]

Разработка приложения VB поддерживается исключительно через интегрированную среду разработки (IDE) VB — приложение в наборе инструментов Visual Studio того времени. В отличие от современных версий Visual Studio , которые поддерживают множество языков, включая VB (.NET), IDE VB поддерживает только VB.

В 2014 году некоторые разработчики программного обеспечения по-прежнему предпочитали Visual Basic 6.0, а не его преемника Visual Basic .NET . [6] Visual Basic 6.0 был выбран в качестве самого страшного языка программирования респондентами ежегодного опроса разработчиков Stack Overflow в 2016, 2017 и 2018 годах. [7] [8] [9]

Обзор

Как и предполагалось в старых вариантах BASIC , VB должен был иметь низкую кривую обучения . Кроме того, IDE должна была способствовать повышению производительности; даже для сложных приложений с графическим интерфейсом . Программирование включает в себя визуальное размещение компонентов или элементов управления на форме , указание атрибутов и действий для этих компонентов и написание кода , который управляет поведением. Поскольку компоненты имеют атрибуты и действия по умолчанию, программист может разработать простую программу, не написав много кода.

Программы, созданные с использованием более ранних версий, страдали от проблем с производительностью, но более быстрые компьютеры и компиляция собственного кода сделали эту проблему менее существенной.

Поскольку программа VB компилируется как исполняемый файл собственного кода , а не интерпретируется как старые варианты BASIC, она выполняется относительно быстро и требует относительно небольшого дискового пространства. Но, начиная с версии 5, она требует загрузки относительно больших файлов библиотеки во время выполнения; около 1 МБ. Основные библиотеки времени выполнения включены по умолчанию в Windows 2000 и более поздние версии, но расширенные компоненты времени выполнения требуют дополнительных усилий по установке. Более ранние версии Microsoft Windows (95/98/NT) требуют, чтобы библиотеки времени выполнения распространялись вместе с исполняемым файлом.

Пустая форма в Visual Basic 6

Формы создаются с использованием методов перетаскивания . Инструмент используется для размещения элементов управления (например, текстовых полей, кнопок и т. д.) на форме (окне). Элементы управления имеют атрибуты и обработчики событий , связанные с ними. Значения по умолчанию предоставляются при создании элемента управления, но могут быть изменены программистом. Многие значения атрибутов могут быть изменены во время выполнения на основе действий пользователя или изменений в среде, обеспечивая динамическое приложение. Например, код может быть вставлен в обработчик событий изменения размера формы, чтобы изменить положение элемента управления так, чтобы он оставался по центру формы, расширялся для заполнения формы и т. д. Вставляя код в обработчик событий для нажатия клавиши в текстовом поле, программа может автоматически переводить регистр вводимого текста или даже предотвращать вставку определенных символов.

Разработка в IDE организована как проект , который можно настроить для вывода в виде программы ( EXE ), библиотеки динамической компоновки (DLL) или библиотеки элементов управления ActiveX (OCX), которая представляет собой специализированную DLL.

Элементы управления обеспечивают графическую функциональность приложения GUI, а программисты прикрепляют код к обработчикам событий для выполнения действий. Например, раскрывающийся элемент управления отображает список элементов. Когда пользователь выбирает элемент, автоматически вызывается обработчик событий, который выполняет код, который программист прикрепил к обработчику.

Для DLL код VB обычно не предоставляет пользовательского интерфейса, а вместо этого предоставляет объекты COM другим программам. Это позволяет использовать такие возможности, как обработка на стороне сервера или модуль надстройки.

С помощью технологии COM неиспользуемая память восстанавливается для повторного использования с помощью подсчета ссылок ; восстановление происходит, когда счетчик достигает нуля. VB уменьшает счетчик, когда переменная выходит из области видимости или когда ей присваивается Nothing. Такая конструкция предотвращает утечки памяти , которые преследуют некоторые старые языки, такие как C и C++. Она существенно отличается от более современного подхода к сборке мусора .

VB предоставляет большую библиотеку служебных объектов и обеспечивает базовую поддержку объектно-ориентированного программирования .

В отличие от многих других языков программирования, код VB не чувствителен к регистру , хотя IDE преобразует ключевые слова в стандартный регистр, а имена переменных — в соответствии с регистром, используемым в других местах проекта. Следует отметить, что сравнение строк по умолчанию чувствительно к регистру.

Компилятор VB используется совместно с другими языками пакета Visual Studio, C и C++. Тем не менее, по умолчанию ограничения в IDE не позволяют создавать некоторые цели (DLL-файлы моделей Windows) и потоковые модели, но с годами разработчики обходят эти ограничения.

Функции

Функция, использующая операторы If, Then, Else и Dim

Visual Basic обладает примечательными особенностями и характеристиками, которые в некоторых случаях отличаются от других вариантов BASIC или от других распространенных языков:

OPTION BASEбыл представлен ANSI вместе со стандартом ANSI Minimal BASIC в конце 1970-х годов.

История

Алан Купер создал дизайн с функцией перетаскивания для пользовательского интерфейса Visual Basic.

BYTE сообщила в 1989 году, что, основываясь на своем опыте разработки программного обеспечения для Macintosh, Microsoft «хочет предоставить среду разработки, которая имитирует среду доставки». Обработка строк BASIC была предпочтительнее C, сказал Грег Лобделл из компании, при разработке приложений, в основном обрабатывающих транзакции, которые Microsoft ожидала от инструментов объектно-ориентированного программирования . [20] Visual Basic 1.0 был представлен в 1991 году. Дизайн перетаскивания для создания пользовательского интерфейса получен из прототипа генератора форм, разработанного Аланом Купером и его компанией под названием Tripod . [21] [22] [23] Microsoft заключила контракт с Купером и его коллегами на разработку Tripod в программируемую систему форм для Windows 3.0 под кодовым названием Ruby (никакого отношения к более позднему языку программирования Ruby ). Tripod вообще не включал язык программирования. Microsoft решила объединить Ruby с языком Basic, чтобы создать Visual Basic. Генератор интерфейса Ruby обеспечивал «визуальную» часть Visual Basic, и это было объединено с движком Embedded BASIC «EB», разработанным для заброшенной системы баз данных «Omega» от Microsoft. Ruby также обеспечивал возможность загрузки динамически подключаемых библиотек , содержащих дополнительные элементы управления (тогда называемые «gizmos»), которые позже стали интерфейсом VBX . [24]

Хронология

Visual Basic для MS-DOS
Значок VB DOS

Производные технологии

Microsoft разработала множество производных от VB (классика), в том числе:

Проблемы

Производительность

Версии до 5 компилировали код в P-Code , который интерпретируется во время выполнения. Преимущества P-Code включают переносимость и меньшие размеры двоичных файлов, но он обычно замедляет выполнение, поскольку интерпретатор добавляет слой в среду выполнения. Приложения VB требуют среду выполнения Microsoft VB MSVBVM##.DLL, где ## — это номер версии, либо 50, либо 60. MSVBVM60.dll входит в стандартную комплектацию Windows во всех редакциях от Windows 98 до Windows 11, хотя некоторые редакции Windows 7 не включают ее. Однако для Windows 95 процесс установки приложения требует DLL, необходимую программе. VB 5 и 6 могут компилировать код как в собственный код, так и в P-Code, но среда выполнения по-прежнему требуется для встроенных функций и управления формами.

Другой

Критика VB (до VB.NET) включает: [32]

Разработка и поддержка устаревших версий

Все версии Visual Basic IDE, от 1.0 до 6.0, больше не поддерживаются корпорацией Microsoft. Связанные среды выполнения также не поддерживаются, за исключением среды выполнения ядра Visual Basic 6, которую компания Microsoft официально поддерживает на протяжении всего срока службы Windows 10 [35] и Windows 11. [ 36] Компоненты сторонних разработчиков, поставляемые с Visual Studio 6.0, не включены в это заявление о поддержке. Некоторые устаревшие компоненты Visual Basic могут по-прежнему работать на новых платформах, несмотря на то, что они не поддерживаются корпорацией Microsoft и другими поставщиками. Документация по Visual Basic 6.0, ее интерфейс прикладного программирования и инструменты лучше всего освещены в последнем выпуске MSDN перед Visual Studio.NET 2002. Более поздние выпуски MSDN были сосредоточены на разработке .NET и имели значительные части документации по программированию Visual Basic 6.0, удаленные по мере развития языка и прекращения поддержки старого кода. Хотя поддержка поставщика Visual Basic 6 закончилась, и продукт никогда не поддерживался в последних версиях Windows, ключевые части среды по-прежнему работают на новых платформах. Можно получить подмножество среды разработки, работающее на 32- и 64-разрядных версиях Windows Vista, Windows 7, Windows 8, Windows 10 и Windows 11. [37] Благодаря его сохраняющейся популярности [38] существуют попытки сторонних разработчиков и далее поддерживать его, например, Rubberduck. [39]

Пример кода

Следующий фрагмент кода отображает окно сообщения с надписью «Hello, World!» при загрузке окна:

Private Sub Form_Load () ' Выполнить простое окно сообщения с надписью "Hello, World!" MsgBox "Hello, World!" End Sub      

Этот фрагмент создает счетчик, который увеличивается на 1 каждую секунду (чтобы это работало, в форму необходимо добавить метку и элемент управления таймером) до тех пор, пока форма не будет закрыта или не произойдет целочисленное переполнение :

Option Explicit Dim Count As Integer Private Sub Form_Load () Count = 0 Timer1 . Interval = 1000 ' единиц миллисекунд End Sub Private Sub Timer1_Timer () Count = Count + 1 Label1 . Caption = Count End Sub                         

Смотрите также

Ссылки

  1. ^ "Классический язык программирования Visual Basic". TIOBE . Получено 2023-02-07 .
  2. ^ "Классический VB". Visual Studio Magazine . Получено 29-08-2024 .
  3. ^ "Заявление о поддержке Visual Basic 6.0 в Windows (обновлено информацией о поддержке Windows 10 версии 1709)". Microsoft . Получено 2015-10-15 .
  4. ^ Рут, Рэндал; Ромеро Суини, Мэри (2006). Руководство тестировщика по программированию .NET . Apress . стр. 3. ISBN 978-1-59059-600-5. Вы можете выбрать язык, основываясь на том, насколько легко его изучить. Для новичков Visual Basic — хороший выбор. [~snip] Большим преимуществом Visual Basic является то, что это популярный язык, поскольку его легко изучить.
  5. ^ Плант, Роберт Т.; Мюррелл, Стивен (2007). Руководство для руководителей по информационным технологиям . Cambridge University Press . стр. 343. ISBN 978-0-521-85336-1. Резюме положительных моментов: Visual Basic прост в изучении и широко доступен.
  6. ^ ab ISpliter (14 января 2014 г.). "Visual Basic 6.0: гигант, более мощный, чем когда-либо". CodeProject.com . Получено 3 апреля 2014 г.
  7. ^ "Опрос разработчиков Stack Overflow 2016". Stack Overflow . 2016 . Получено 2020-12-18 .
  8. ^ "Опрос разработчиков Stack Overflow 2017". Stack Overflow . 2017 . Получено 2020-12-18 .
  9. ^ "Опрос разработчиков Stack Overflow 2018". Stack Overflow . 2018 . Получено 2020-12-18 .
  10. ^ violence, ken. "vkControls : 16 ГРАФИЧЕСКИХ пользовательских элементов управления ! НИКОГДА НЕ ВИДЕЛ РАНЬШЕ!". PSC . Получено 5 апреля 2014 г.
  11. ^ Krool. "CommonControls (Замена общих элементов управления MS)". VBForums . Получено 5 апреля 2014 г.
  12. ^ PSC. "Visual Basic 6.0 сторонние компоненты для современных стандартов (обзор)". Исходный код планеты . Получено 4 апреля 2014 г.
  13. ^ Джефф, Мартин. "Visual Basic 6 обновлен для работы в Windows 8". INFOQ . Получено 5 апреля 2014 г.
  14. ^ «Совет 2: Используйте номера строк в исходном коде. : Visual Basic».
  15. ^ Руководство программиста Microsoft Visual Basic, версия 3.0 — Microsoft Corporation, 1993 г.
  16. ^ "Visual Studio 2003 Retired Technical documentation". Центр загрузки Microsoft . Получено 2023-02-07 .
  17. ^ Кэтлин Доллард; и др. «Циклические структуры — Visual Basic». Learn.microsoft.com . Проверено 4 декабря 2017 г.
  18. ^ "Microsoft Basic Logical Expression Evaluation". Vb.mvps.org. Архивировано из оригинала 2009-08-23 . Получено 2009-06-16 .
  19. ^ "PRB: Round Function отличается в VBA 6 и Excel Spreadsheet". Поддержка Microsoft . Архивировано из оригинала 29-10-2013 . Получено 25-01-2014 .
  20. ^ "BASIC станет "встроенным языком" приложений Microsoft". BYTE . Февраль 1989. С. 12. Получено 08.10.2024 .
  21. Купер, Алан (22 апреля 1996 г.). «Почему я «отец Visual Basic»». Архивировано из оригинала 9 марта 2017 г. Получено 8 марта 2017 г.
  22. ^ "Алан Купер получает премию Windows Pioneer Award 1994". YouTube . 23 сентября 2010 г. Событие происходит в 4:25Билл Гейтс: "Многие называют вас отцом Visual Basic. Что вы об этом думаете?"{{cite web}}: CS1 maint: постскриптум ( ссылка )
  23. ^ Лор, Стив (2008). Перейти к: История математиков, игроков в бридж, инженеров, шахматных волшебников, ученых-независимых и Ico (пересмотренное издание). Basic Books. стр. 96. ISBN 9780786730766. Купер ... получил признание в отрасли как «отец Visual Basic». (Юристы Microsoft однажды направили Куперу приказ о прекращении противоправного действия, требуя, чтобы он прекратил использовать это звание. Но после того, как Купер пожаловался, Гейтс все исправил и даже назвал его «пионером Windows» на отраслевой конференции.)
  24. ^ «Рождение Visual Basic».Риан "Пето" Данао I <3 19
  25. ^ Джордж, Мак. «История Visual Basic». Июнь 2002 г. Джордж Мак, 3-е издание, Copyright июнь 2002 г. Получено 10 апреля 2014 г.
  26. ^ www.insteptech.com (2005-07-22). "Что нового в VB6?". www.insteptech.com.
  27. ^ "Руководство по жизненному циклу семейства продуктов для Visual Basic 6.0". Msdn2.microsoft.com. 2005-03-31 . Получено 2009-06-16 .
  28. ^ «Заявление о поддержке Visual Basic 6.0 в Windows». Microsoft. 2018-01-17 . Получено 2019-06-20 .
  29. ^ Пике, Лори (2002-02-20). «Отказ от фантазии о волшебстве миграции VB». DevX.com . Jupitermedia. Архивировано из оригинала 2007-05-19 . Получено 2007-05-17 .
  30. ^ «VBA для разработчиков Office». Microsoft.
  31. ^ "Совместимость 32-разрядной и 64-разрядной версий Office 2010". Корпорация Microsoft . Получено 16 июля 2012 г.
  32. ^ Алекс Гомер; Дэйв Сассман; Роб Ховард; Брайан Фрэнсис; Карли Уотсон; Ричард Андерсон (2004). Professional ASP.NET 1.1 . Wiley. стр. 71. ISBN 0-7645-5890-0. Получено 2008-10-08 .
  33. ^ Марк Д'Ауст (декабрь 2000 г.). «Избегайте написания утомительного, скучного кода». Microsoft . Получено 10 ноября 2008 г.
  34. ^ Эндрю Троелсен (2008). Pro VB 2008 и платформа .NET 3.5: голос эксперта в .NET. Apress. стр. 5. ISBN 978-1-59059-822-1.
  35. ^ Деннинг, Адам (22.06.2015). «Подготовка к Windows 10 – SDK, совместимость, мосты». Блог Building Apps for Windows . Получено 02.08.2015 .
  36. ^ paulyuk. "Заявление о поддержке Visual Basic 6.0". docs.microsoft.com . Получено 2022-07-26 .
  37. ^ Дэн, Браст (14 сентября 2015 г.). «Установка Visual Basic/Studio 6 на Windows 10». danbrust.net .
  38. ^ Рамел, Дэвид (2020-07-07). "Индекс популярности: классический Visual Basic висит там" . Получено 2023-03-28 .
  39. ^ Рамель, Дэвид (28.02.2020). «Возрождение Visual Basic? Проект стремится «принести VBE в это столетие!». Visual Studio Magazine . Получено 28.03.2023 .

Внешние ссылки