Visual Basic

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Visual Basic
Класс языка:

процедурный, объектно-ориентированный, компонентно-ориентированный

Тип исполнения:

компилируемый, интерпретируемый

Появился в:

1991

Выпуск:

Visual Basic 6.0 (1998)

Система типов:

нестрогая

Основные реализации:

Microsoft Visual Basic for DOS, Microsoft Visual Basic for Windows

Диалекты:

Visual Basic for Applications, 1993; Visual Basic Script, 1996

Испытал влияние:

QuickBasic, 1985

Повлиял на:

VB.net, 2001

Сайт:

msdn.microsoft.com/vbasic/

Microsoft Visual Basic — средство разработки программного обеспечения, разрабатываемое корпорацией Microsoft и включающее язык программирования и среду разработки. Язык Visual Basic унаследовал дух, стиль и отчасти синтаксис своего предка — языка Бейсик, у которого есть немало диалектов. В то же время Visual Basic сочетает в себе процедуры и элементы объектно-ориентированных и компонентно-ориентированных языков программирования. Среда разработки VB включает инструменты для визуального конструирования пользовательского интерфейса.

Visual Basic считается хорошим средством быстрой разработки прототипов программы, для разработки приложений баз данных и вообще для компонентного способа создания программ, работающих под управлением операционных систем семейства Microsoft Windows.

Первое признание серьёзными разработчиками Visual Basic получил после выхода версии 3 — VB3. Окончательное признание как полноценного средства программирования для Windows — при выходе версии 5 — VB5. Версия VB6, входящая в состав Microsoft Visual Studio 6.0, стала по-настоящему зрелым и функционально богатым продуктом. После этого разработчики из Microsoft существенно изменили направление развития данной технологии.

Visual Basic .NET не позволяет программировать по-старому, потому что по сути является совершенно другим языком, таким же, как и любой другой язык программирования для платформы .NET. Индивидуальность языка, так же как и его преимущества (простота, скорость создания программ, лёгкость использования готовых компонентов) при использовании в среде .NET не имеют такого значения, как раньше — всё сосредоточено на возможностях самой системы .NET, на её библиотеке классов. Поэтому сегодня (октябрь 2012 года) нужно говорить о классическом Visual Basic, его диалектах Visual Basic for Applications (VBA) и Visual Basic Scripting Edition (VBScript) и о языке для платформы .NET — Visual Basic .NET.

Эволюция Visual Basic[править | править вики-текст]

  • май 1991 — выпущен Visual Basic 1.0 для Microsoft Windows. За основу языка был взят синтаксис QBasic, а новшеством, принесшим затем языку огромную популярность, явился принцип связи языка и графического интерфейса. Этот принцип был разработан Аланом Купером (Alan Cooper) и реализован в прототипе Tripod (также известном как Ruby). Первый Visual Basic был интерпретатором.
  • сентябрь 1992 — выпущен Visual Basic 1.0 под DOS. Он не был полностью совместим с Windows-версией VB, поскольку по сути являлся следующей версией QuickBASIC и работал в текстовом режиме экрана.
    Интересно отметить, что в составе была специальная утилита, которая конвертировала проекты данной версии в проекты Visual Basic 1.0. Она делала код максимально совместимым с Windows-версией, конвертировала формы (хотя результат получался неудовлетворительным из-за различий текстового и графического режима), а также давала в коде комментарии с подсказками по дальнейшему улучшению.
  • ноябрь 1992 — выпущен Visual Basic 2.0. Среда разработки стала проще в использовании и работала быстрее.
  • летом 1993 — вышел в свет Visual Basic 3.0 в версиях Standard и Professional. Ко всему прочему, в состав поставки добавился движок для работы с базами данных Access.
  • август 1995 — Visual Basic 4.0 — версия, которая могла создавать как 32-х так и 16-разрядные Windows-программы. Кроме того, появилась возможность писать на VB классы, а также Visual Basic наконец-то стал полноценным компилятором, что значительно увеличило скорость выполнения программ.
  • февраль 1997 — Visual Basic 5.0 — начиная с этой версии, стало возможно, наряду с обычными приложениями, разрабатывать COM-компоненты. Скомпилировав такой компонент в OCX-файл и поставляя его, можно было предоставить свой объект управления не только конечному пользователю, но и другим разработчикам, после чего они могли интегрировать этот объект в свои приложения.
  • В середине 1998 — вышла Visual Basic 6.0. После этого Microsoft резко изменила политику в отношении языков семейства Basic. Вместо развития Visual Basic, был создан абсолютно новый язык Visual Basic .NET, первая версия которого появилась в 2001. Это принципиально новый язык, имеющий, помимо синтаксиса, очень мало схожего с VB 6.0; и отличаясь от него так же сильно, как в своё время VB отличался от QBASIC. VB.NET сразу же занял место VB в Visual Studio, и на этом развитие классического Visual Basic остановилось.
  • В 2005 году вышла новая версия Visual Basic, в комплекте Visual Studio. Порадовала она новым интерфейсом и возможностями. Язык основан на Visual Basic.NET. Она не была классической версией VB.
  • В конце 2007 Microsoft выпустила новую версию Visual Basic — Visual Basic 2008, которая также была основана на Visual Basic.NET.
  • Visual Basic 2010 (VB 10.0). Требует .NET Framework 4.
  • Visual Basic 2012 (VB 11.0). Требует .NET Framework 4.5.

Основные разновидности Visual Basic[править | править вики-текст]

Классический Visual Basic (версии 5-6)[править | править вики-текст]

Visual Basic Classic

Этот язык очень сильно привязан к своей среде разработки и к операционной системе Windows, являясь исключительно инструментом написания Windows-приложений. Привязка к среде заключается в том, что существует большое количество средств, предназначенных для помощи и удобства программирования: встроенный отладчик, просмотр переменных и структур данных на лету, окно отладки, всплывающая подсказка при наборе текста программы (IntelliSense). Все эти преимущества делают бесполезным и даже невозможным использование Visual Basic вне среды разработки, например в обычном текстовом редакторе.

Пример простейшей программы на VB 6.0:

Private Sub Form1_Load()
Label1.Caption = "Добро пожаловать в тестовую программу! Нажмите ОК."
End Sub
 
Private Sub Command1_Click()
MsgBox "Закрыть программу?", vbYesNo
If vbYes Then
End
Else
End Sub

Программа показывает работу с MsgBox (окно сообщения) и Label(надпись, которую невозможно редактировать).

Visual Basic for Applications (VBA)[править | править вики-текст]

Это средство программирования, практически ничем не отличающееся от классического Visual Basic, которое предназначено для написания макросов и других прикладных программ для конкретных приложений. Наибольшую популярность получил благодаря своему использованию в пакете Microsoft Office. Широкое распространение Visual Basic for Applications в сочетании с изначально недостаточным вниманием к вопросам безопасности привело к широкому распространению макровирусов.

Особенности:

  • Оператор \ — деление нацело, любая дробная часть отсекается.
  • Перед выполнением операции a\b a и b округляются до целого.

Visual Basic Scripting Edition (VBScript)[править | править вики-текст]

Скриптовый язык, являющийся несколько усечённой версией обычного Visual Basic. Используется в основном для автоматизации администрирования систем Windows, а также для создания страниц ASP и сценариев для Internet Explorer.

Достоинства и недостатки[править | править вики-текст]

Достоинства[править | править вики-текст]

  • Высокая скорость создания приложений с графическим интерфейсом для MS Windows.
  • Простой синтаксис, позволяющий очень быстро освоить язык.
  • Возможность компиляции как в машинный код, так и в P-код (по выбору программиста). В режиме отладки программа всегда (вне зависимости от выбора) компилируется в P-код, что позволяет приостанавливать выполнение программы, вносить значительные изменения в исходный код, а затем продолжать выполнение: полная перекомпиляция и перезапуск программы при этом не требуется.
  • Защита от ошибок, связанных с применением указателей и доступом к памяти. Этот аспект делает Visual Basic приложения более стабильными, но также является объектом критики.
  • Возможность использования большинства WinAPI функций[1] для расширения функциональных возможностей приложения. Данный вопрос наиболее полно исследован Дэном Эпплманом, написавшим книгу «Visual Basic Programmer’s Guide to the Win32 API».

Недостатки[править | править вики-текст]

  • Поддержка операционных систем только семейства Windows и Mac OS X (Исключение — VB1 for DOS).
  • Отсутствие механизма наследования реализации объектов[2]. Существующее в языке наследование позволяет наследовать только интерфейсы, но не их реализацию.
  • Требует установленную msvbvmXX.dll[3] для работы программы.
  • Низкая скорость работы, обусловленная тем, что практически все встроенные функции языка реализованы через библиотеку времени исполнения (runtime library), которая, в свою очередь, производит много «лишней» работы по проверке и/или преобразованию типов.

Критика[править | править вики-текст]

  • Часто критике подвергаются такие аспекты Visual Basic, как возможность отключить средства слежения за объявленными переменными, возможность неявного преобразования переменных, наличие типа данных «Variant». По мнению критиков, это даёт возможность писать крайне плохой код. С другой стороны, это можно рассматривать как плюс, так как VB не навязывает «хороший стиль», а даёт больше свободы программисту.
  • Отсутствие указателей, низкоуровневого доступа к памяти, ASM-вставок. Несмотря на то, что парадигма Visual Basic позволяет среднему VB-программисту обходиться без всего этого, перечисленные вещи также нередко становятся объектами критики. И хотя, используя недокументированные возможности и определённые ухищрения, всё это можно реализовать и на VB (например с помощью функций для получения указателей VarPtr(), StrPtr() и ObjPtr()); пользоваться этими трюками гораздо сложнее, чем, например, на Си++.

Однако стоит отметить, что все недостатки языка вытекают из его основного достоинства — простоты разработки графического интерфейса. Поэтому многие программисты используют Visual Basic для разработки интерфейса пользователя, а функциональность программы реализуют в виде динамически подключаемых библиотек (DLL), написанных на другом языке (чаще всего C++).

См. также[править | править вики-текст]

Примечания[править | править вики-текст]

  1. 16-разрядные версии могли обращаться к Win16 подсистеме, а 32-разрядные версии — к Win32.
  2. Вообще говоря, отсутствие наследования реализации — особенность технологии COM, а не самого VB, который лишь отражает эту особенность.
  3. msvbvm50.dll предустановлена в ОС начиная с Windows 2000, msvbvm60.dll — начиная с Windows XP.

Литература[править | править вики-текст]

  • Брайан Сайлер, Джефф Споттс. Использование Visual Basic 6. Классическое издание = Special Edition Using Visual Basic 6. — М.: «Вильямс», 2007. — С. 832. — ISBN 0-7897-1542-2.
  • Билл Семпф. Microsoft Visual Basic 2005 для "чайников" = Visual Basic 2005 For Dummies. — М.: «Диалектика», 2006. — С. 288. — ISBN 0-7645-7728-X.
  • Игорь Сафронов. Visual Basic в задачах и примерах. — БХВ-Петербург. — СПб.: «БХВ-Петербург», 2008. — С. 400. — ISBN 978-5-94157-495-7.
  • Дан Эпплман. Win32 API и Visual Basic. Для профессионалов = Dan Appleman's Visual Basic Programmer's Guide to the Win32 API. — Питер. — СПб.: «Питер», 2001. — С. 1120. — ISBN 5-272-00198-2.

Ссылки[править | править вики-текст]