Microsoft visual basic for applications что это за программа
Visual Basic for Application представляет собой мощный инструмент для разработки приложений на базе Microsoft Office. Функции, ручное выполнение которых вызывает некоторые сложности, можно автоматизировать с помощью Visual Basic for Application. Например, вы можете разработать дополнительную систему для анализа текста Word, особым образом отформатировать электронную таблицу Excel или придать большую интерактивность слайдам, подготовленным в Power Point.
Некоторые конструкции языка программирования Visual Basic for Application заимствованы из традиционного Бейсика, в чем вы можете убедиться, если посмотрите на любую программу из тех, что приводятся вдалее. Хотя вам придется встретиться и со множеством других конструкций. Все вместе они делают из "школьного" Бейсика вполне серьезный язык программирования, с помощью которого можно создавать деловые программы для Microsoft Office. К услугам разработчика не только основные конструкции языка, но и мощная объектно-ориентированная среда. Объекты - наиболее существенное приобретение Visual Basic for Application, поскольку с их помощью изрядно упрощаются процедуры для манипуляции данными и документами. В состав Microsoft Office входит пять основных приложений - Word, Excel, Access, Power Point, Outlook, - и каждый использует собственную систему объектов. К этому количеству можно добавить такие программы, как, например, Microsoft Graph, Microsoft Equation, Office Assistant, Microsoft Form и некоторые другие вспомогательные компоненты, для которых также существует определенный набор объектов. Так что в понятие "программирование на Visual Basic for Application" входит не только и не столько знание основ языка программирования, сколько умение правильно использовать объекты, их свойства и методы.
Запуск редактора для приложений Microsoft Office осуществляется следующим образом > Вид > макрос > Редактор visaul Basic (+)
Обычно в окне редактора используются три панели (три отдельных окна). На самом деле окон может быть и больше и меньше, и скоро вы узнаете обо всех, но это — основные окна, открывающиеся по умолчанию (рис. 6.1):
Project(Окно проекта);
Properties(Окно свойств);
Code(Окно кода).
Итак, первое окно, которое мы рассмотрим, — окно проекта, обычно располагающееся в верхнем левом углу редактора (рис. 6.1). Если оно не активно, выберите команду > view > Project Explorer либо нажмите комбинацию клавиш +.
В окне проекта отображается иерархическое дерево проектов приложения и модулей этих проектов с их элементами. О проектах VBA будет более подробно рассказано чуть ниже, сейчас же мы рассмотрим лишь возможности редактора.
В нашем случае в окне проекта открыт только один проект — Проект 1.
Каждый проект содержит пять папок с модулями:
Forms— папка содержит пользовательские модули форм (userForm. — см. "Разработка приложения")',
Modules— папка содержит стандартные модули пользователя;
Class Modules— папка содержит пользовательские модули классов;
References— папка содержит ссылки на объекты из внешних библиотек и список модулей этих библиотек.
Если окно кода не активно, выберите команду > View > Code или нажмите клавишу .
Рис. 6.1. Редактор Visual Basic for Application
О добавлении, удалении и переименовании модулей в проекте будет рассказано ниже.
Помимо области, где отображаются документы, на панели проекта располагаются три кнопки.
View Code.После нажатия на данную кнопку указатель перемещается в окно кода, где отображается код выделенного объекта.
View Object.При нажатии этой кнопки показывается реализация выделенного объекта.
Toggle Folders.При нажатой кнопке отображаются элементы проекта в соответствующих кнопках, при отжатой — элементы проекта располагаются просто в алфавитном порядке.
Перейдем теперь к рассмотрению окна свойств, обычно располагающегося под окном проектов. Данное окно позволяет просматривать и изменять свойства различных объектов, входящих в проект. Для отображения свойств объекта его необходимо выделить. Объект можно выделить на панели проектов, на пользовательской форме. Кроме того, можно выделять объекты, подчиненные выделенным объектам. Так, например, для модуля доступно только свойство Name. Более эффективен этот прием при работе с многочисленными объектами, подчиненными пользовательским формам.
Чтобы изменить значение свойства объекта, необходимо: Выделить имя свойства в левой колонке.
Изменить значение этого свойства в правой колонке либо введя его с клавиатуры, либо выбрав из раскрывающегося списка.
Безусловно, окно свойств — очень полезный инструмент, поскольку сразу видны почти все свойства объекта и их допустимые значения. Но изменение свойств объекта посредством панели статично и не обладает программной динамикой. Подобная панель удобна для задания начальных или постоянных значений свойств объекта, таких как имя листа или цвет пользовательской формы рис.6.2, 6.3.
Рис. 6.2. Окно проекта
Рис. 6.3. Окно свойств
Кстати, свойства можно отображать как в алфавитном порядке, так и по категориям, посредством выбора соответствующих вкладок Alphabeticили Categorized.Следующая рассматриваемая нами панель — панель кода. Это окно занимает большую часть экрана. Данная панель — это не просто "чистый лист", предназначенный для ввода кода, а специализированный высокоинтеллектуальный текстовый редактор, существенно облегчающий введение, форматирование и редактирование кода VBA. Окно кода напрямую связано с модулем проекта и открывается при двойном щелчке мышью по необходимому модулю в окне проекта.
В 1964 году на свет появился язык BASIC. Он разрабатывался для учебных целей, чтобы студенты вузов с помощью простых алгоритмов изучать программирование. BASIC стал настоящим прорывом в образовании, а в реальной жизни программисты соревновались в создании диалектов. Среди очарованных языком гиков оказался Билл Гейтс. В 13 лет он написал на нем свою первую программу, в 20 — зарабатывал деньги реализацией версии Altair BASIC, разработанной им совместно с Полом Алленом.
В 80-е годы популярность BASIC пошла на спад. Новые языки программирования избавились от сложного синтаксиса, при этом их возможности возросли. И только Microsoft продолжал гнуть свою линию, выпустив сначала еще один бестселлер QBasic, а потом и героя сегодняшнего текста — Visual Basic.
Краткая справка
Первые версии Visual Basic не снискали успеха среди разработчиков. Графический интерфейс, а потом и подсветка синтаксиса являлись едва ли не единственным отличием от QBasic. Microsoft начала вносить значительные перемены лишь с версии 3.0. В комплектации Professional разработчики получили возможность работать с базой данных Access, графические возможности позволяли работать с языком даже не программистам. Кроме того, повысилось быстродействие и упростилась установка ПО.
Visual Basic в наши дни
VB — инструмент для быстрого создания Windows-приложений. После смены концепции язык обрел:
- поддержку ООП с конструкторами, деструкторами и наследованием;
- свободную многопоточность;
- компиляцию в байт-код, исполняемую при помощи CLR;
- структурную обработку исключений;
Другим популярным наследником является Visual Basic for Applications (VBA). Это урезанный VB 6.0 для обработки макросов, создания скриптов, который упрощает работу внутри ОС.
В AutoCAD, CorelDraw, SolidWorks и, конечно же, Microsoft Office вы можете экспортировать данные, структурировать информацию, подключать БД. Даже на бытовом уровне вам пригодится умение создавать автозаполняемые формы, вытягивать информацию в один клик из Excel. В работе, не обязательно связанной с программированием, VBA упростит создание технических документов, чертежей и планов.
Литература
Обучение языку лучше начинать с VBA. Во-первых, он проще, во-вторых, целевые продукты вам прекрасно известны, в-третьих, ограничения позволят вам сконцентрироваться на языке. Считается, что для изучения VBA вам понадобится 30 часов. Фактически — не более 15. Можете взять за основу одну из следующих книг:
- Excel 2013. Профессиональное программирование на VBA, Джон Уокенбах.
- Решение научных и инженерных задач средствами Excel, VBA и C C++, Игорь Гайдышев.
- VBA для “чайников”, Стив Каммингс.
- Самоучитель VBA, Андрей Гарнаев.
- Access. Программирование на VBA, подборка статей.
На годы обращать внимания не стоит, здесь важнее практические навыки.
Заключение
Visual Basic сочетает в себе процедуры и элементы объектно-ориентированных и компонентно-ориентированных языков программирования. Даже несмотря на то, что появился VB более 50 лет назад, он до сих пор с успехом используется для решения определенных задач.
К примеру, с его помощью благодаря автоматической реализации некоторых механизмов можно быстро разрабатывать приложения баз данных для операционных систем от Microsoft Windows. Есть у Visual Basic и другие преимущества, хотя без недостатков тоже не обошлось. Но давайте поговорим обо всем этом несколько более подробно.
История развития Visual Basic
Язык BASIC был разработан в 1964 году. Он создавался для выполнения учебных задач, при которых обучающиеся могли бы использовать простые алгоритмы для освоения навыков программирования. Данный язык вывел образование на новый уровень, а программисты начали соревноваться между собой, создавая все новые и новые диалекты.
В число людей, начавших свою профессиональную карьеру с использования BASIC, входил Билл Гейтс, который в возрасте 13 лет написал на нем свою первую программу. В 20 лет он вместе с Полом Алленом получал свои дивиденды от реализации версии Altair BASIC.
В 80-х годах популярность BASIC стала постепенно снижаться. Разрабатываемые в то время языки уже не имели столь сложного синтаксиса, а их спектр возможностей становился все шире. Лишь Microsoft продолжал выпускать разновидности BASIC, сначала создав QBasic, а затем и Visual Basic.
История развития Visual Basic
На первых порах версии Microsoft Visual Basic не были столь популярны. Дело в том, что они практически не отличались от QBasic. Исключениями являлись разве что графический интерфейс и подсветка синтаксиса. Но Microsoft внесли существенные коррективы в версию 3.0.
Комплектация Professional позволяла разработчикам взаимодействовать с базой данных Access, а благодаря графическим возможностям с языком смогли работать даже те люди, которые не имели навыков программирования. Плюс ко всему, увеличилась скорость работы, а установка ПО стала значительно проще.
В 1995 году появилась Windows 95, что позволило Visual Basic 4.0. выйти в лидеры. Был создан полноценный компилятор, появилась возможность разрабатывать 16 и 32-ядерные приложения, и повысилось быстродействие.
Основные разновидности Visual Basic
Классический Visual Basic (Visual Basic Classic)
Данный язык в значительной степени привязан к своей среде разработки и к OS Windows, из-за чего он может использоваться лишь в качестве инструмента создания приложений для этой операционной системы. Привязка к среде означает наличие множества средств, помогающих и упрощающих процесс программирования.
Получите подборку бесплатно (pdf 2,5 mb)
В список таких средств можно отнести: просмотр переменных и структур данных на лету, встроенный отладчик, окно отладки, всплывающая подсказка при наборе текста программы (IntelliSense). Вследствие этого применение Visual Basic вне среды разработки, скажем, в стандартном текстовом редакторе, не только неоправданно, но и невозможно.
Visual Basic for Applications (VBA)
Эта разновидность Visual Basic почти не отличается от обычного варианта и разрабатывалась в целях написания макросов и прочих прикладных программ для конкретных приложений. Широкое распространение данный язык получил за счет применения в пакете Microsoft Office. Стоит отметить, что из-за большой популярности Visual Basic for Applications и отсутствия должного контроля безопасности появилось множество макровирусов.
Visual Basic Scripting Edition (VBScript)
Можно сказать, что это немного урезанная версия стандартного Visual Basic. Данный скриптовый язык, как правило, применяется в целях автоматизации администрирования систем на базе Windows, при создании страниц ASP и сценариев для Internet Explorer.
Основные разновидности Visual Basic
Команда GeekBrains совместно с международными специалистами по развитию карьеры подготовили материалы, которые помогут вам начать путь к профессии мечты.
Подборка содержит только самые востребованные и высокооплачиваемые специальности и направления в IT-сфере. 86% наших учеников с помощью данных материалов определились с карьерной целью на ближайшее будущее!
Скачивайте и используйте уже сегодня:
Топ-30 самых востребованных и высокооплачиваемых профессий 2022
Подборка 50+ ресурсов об IT-сфере
ТОП сервисов и приложений, на которые следует перейти уже сегодня
3,7 MB
Особенности Visual Basic
Работа с Visual Basic предполагает использование визуальных компонентов и контролов, определение атрибутов и действий для компонентов, создание дополнительного кода для расширения функциональных возможностей.
Благодаря определенным по умолчанию значениям и действиям для компонентов появляется возможность разработать простую программу без написания кода специалистом. В более ранних версиях были некоторые проблемы связанные с производительностью программ, однако нынешние компьютеры и компиляция собственного кода позволяют снизить негативное влияние этого фактора.
Компиляция программ появилась в VB 5, однако исполняемые программы даже на сегодняшний день предполагают наличие определенных библиотек для запуска. Такие библиотеки имеются в Windows 2000 и выше. В более ранних версиях OS они должны поставляться вместе с программой.
Создание форм осуществляется способом drag and drop, что в переводе означает «перетащи и брось». Элементы управления располагаются на форме (к примеру, поля ввода, кнопки и др.). У этих элементов управления имеются собственные атрибуты и обработчики событий. Множество атрибутов предполагают возможность изменения в процессе выполнения программы, поэтому можно разрабатывать программы, которые будут динамически реагировать на действия пользователя.
VB может создать исполняемые программы (EXE файлы), элементы управления ActiveX, библиотеки DLL. Но все же предназначением данного языка является создание программ под OS Windows.
Особенности Visual Basic
Есть возможность применения диалоговых окон с ограниченными функциональными возможностями для обеспечения подсказок. Управленческие элементы обеспечивают основополагающие возможности функционала программы, при этом специалист может осуществить расширение логики приложения с помощью обработчиков событий.
Скажем, выпадающий список в автоматическом режиме показывает список и дает возможность выбора элемента пользователем. Обработчик событий вызывается в целях выполнения дополнительного кода в зависимости от подобранного элемента.
Язык применяет справочные данные для того чтобы собрать мусор. У него есть обширная библиотека сервисных объектов и объектно-ориентированная разработка. При этом VB не привязан к регистру, что и отличает его от множества других языков. Сравнение строк с одной стороны зависит от регистра, но с другой – может выполняться и без его учета.
Компилятор VB идет совместно с другими языками Visual Studio, такими как C, C++. Вместе с тем из-за ограничений в интегрированной среде разработки у программиста нет возможности разрабатывать определенные типы приложений.
Microsoft Visual Basic для приложений (VBA) — это версия Visual Basic, поставляемая вместе с Microsoft Office. В Microsoft Office 2010 язык VBA содержит такие функциональные возможности, которые позволяют коду VBA правильно выполняться как в 32-разрядных, так и в 64-разрядных средах.
По умолчанию пакет Office 2010, 2013 и 2016 устанавливается в 32-разрядной версии. Во время установки необходимо явно выбрать 64-разрядную версию. Начиная с Office 2019 и Microsoft 365, по умолчанию используется 64 – разрядная версия.
Код VBA нуждается в модификации, только если он выполняется в 64-разрядной версии Microsoft Office.
Проблема с выполнением унаследованного программного кода VBA в 64-разрядном пакете Office заключается в том, что при попытке загрузить 64-разрядные значения в 32-разрядный тип данных 64-разрядные числа усекаются. Это может приводить к переполнениям памяти, неожиданным результатам в коде и возможным сбоям приложения.
Для устранения этой проблемы и обеспечения правильной работы кода VBA как в 32-разрядных, так и в 64-разрядных средах в язык VBA добавлен ряд функциональных возможностей. Новые возможности языка VBA обобщены в таблице, представленной внизу этого документа. Три важных добавления: псевдоним типа LongPtr, тип данных LongLong и ключевое слово PtrSafe.
LongPtr. Теперь язык VBA включает псевдоним типа переменной LongPtr. Фактический тип данных, в который разрешается тип LongPtr, зависит от версии пакета Office, в котором он используется; тип LongPtr разрешается в тип Long в 32-разрядных пакетах Office, и тип LongPtr разрешается в тип LongLong в 64-разрядных версиях пакета Office. Используйте тип LongPtr для указателей и дескрипторов.
LongLong. Тип данных LongLong — это 64-разрядные целые числа со знаком, которые доступны только в 64-разрядных версиях пакета Office. Используйте тип LongLong для 64-разрядных целых чисел. Для явного присвоения значений типа LongLong (включая тип LongPtr на 64-разрядных платформах) целочисленным типам данных меньшего размера должны использоваться функции преобразования. Неявные преобразования типа LongLong в меньшие целочисленные типы не допускаются.
PtrSafe. Ключевое слово PtrSafe декларирует, что оператор Declare безотказно выполняется в 64-разрядных версиях пакета Office.
Теперь все операторы Declare должны содержать ключевое слово PtrSafe, когда выполняются в 64-разрядных версиях пакета Office. Важно понимать, что просто добавление ключевого слова PtrSafe в оператор Declare означает только, что оператор Declare явно ориентирован на 64-разрядные данные. Все типы данных в операторе, предназначенные для хранения 64-разрядных значений (включая возвращаемые значения и параметры), все еще нуждаются в изменении, чтобы хранить 64-разрядные числа.
Операторы Declare с ключевым словом PtrSafe представляют собой рекомендованный синтаксис. Операторы Declare, содержащие слово PtrSafe, работают корректно в среде разработки VBA7 как на 32-разрядных, так и на 64 разрядных платформах.
Чтобы обеспечить обратную совместимость в VBA7 и более ранних версиях, используйте следующую структуру:
Рассмотрим следующие примеры оператора Declare. Выполнение немодифицированного оператора Declare в 64-разрядных версиях пакета Office приводит к ошибке, показывающей, что оператор Declare не содержит спецификатора PtrSafe. Модифицированный пример кода VBA содержит спецификатор PtrSafe, однако заметим, что возвращаемое значение (указатель на активное окно) возвращает тип данных Long. В 64-разрядном пакете Office это неправильно, так как указатель должен быть 64-разрядным. Спецификатор PtrSafe сообщает компилятору, что оператор Declare ориентирован на 64-разрядные числа, так что оператор выполняется без ошибки. Но поскольку возвращаемое значение не обновлено до 64-разрядного типа данных, возвращаемое значение усекается, в результате чего возвращается некорректное значение.
Ниже приведен пример немодифицированного устаревшего оператора Declare языка VBA:
Приведенный ниже пример оператора Declare языка VBA модифицирован для включения спецификатора PtrSafe, но по-прежнему использует 32-разрядное возвращаемое значение:
Чтобы повторно выполнить цикл, следует модифицировать оператор Declare для включения спецификатора PtrSafe, а также необходимо обновить все переменные в операторе, которые требуются для хранения 64-разрядных чисел, чтобы переменные использовали 64-разрядные типы данных.
Приведенный ниже пример оператора Declare языка VBA модифицирован для включения ключевого слова PtrSafe и обновлен для использования 64-разрядного типа данных (LongPtr):
Итак, для правильной работы кода в 64-разрядных версиях пакета Office необходимо найти и модифицировать все существующие операторы Declare, чтобы они использовали спецификатор PtrSafe. Внутри этих операторов Declare также необходимо найти и модифицировать все типы данных, которые ссылаются на дескрипторы или указатели, чтобы использовать псевдоним нового 64-разрядного совместимого типа LongPtr и типы, необходимые для хранения 64-разрядных целых чисел с новым типом данных LongLong. Кроме того, следует обновить все определенные пользователем типы, содержащие указатели или дескрипторы и 64-разрядные целые числа, чтобы использовать 64-разрядные типы данных, и убедиться в правильности присвоений всех переменных, чтобы предотвратить появление ошибок несоответствия типов.
Написание кода, который работает как в 32-разрядных, так и 64-разрядных версиях Office
Чтобы написать код, переносимый между 32-разрядными и 64-разрядными версиями Office, требуется лишь использовать для всех указателей и значений дескрипторов псевдоним нового типа LongPtr вместо типа Long или LongLong. Псевдоним типа LongPtr разрешается в правильный тип данных Long или LongLong в зависимости от того, какая версия пакета Office используется.
Обратите внимание, что если требуется реализовать другую логику, например при работе с 64-разрядными значениями в больших проектах Excel, можно использовать константу условной компиляции Win64, как показано в следующем разделе.
Написание кода, который работает как в Office 2010 (32-разрядный или 64-разрядный пакет), так и в предыдущих версиях Office
Чтобы написать код, работающий как в новой, так и в старой версиях Office, можно использовать комбинацию новых условных констант компилятораVBA7 и Win64. Условная константа компилятора Vba7 применяется, чтобы определить, работает ли программный код в версии 7 редактора VB (версия VBA, которая поставляется в Office 2010). Условная константа компиляции Win64 применяется, чтобы определить, какая версия (32-разрядная или 64-разрядная) Office функционирует на компьютере.
Сводка обновлений языка VBA7
Новые дополнения языка VBA обобщаются и объясняются в приведенной ниже таблице.
Использование типа LongLong допустимо только на 64-разрядных платформах. Кроме того, тип LongLong может не преобразовываться неявно в тип данных меньшего размера (например, невозможно присвоить тип LongLong типу Long). Это необходимо для предотвращения случайного усечения указателя.
См. также
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.
Моя влюблённость была искренней. Ещё в детстве я учился программировать на языке BASIC. Но не просто на BASIC. Я начинал с потрясающей среды Microsoft под названием QuickBASIC на древней операционной системе DOS. Я всё ещё помню, как набирал белый текст на её бодром голубом фоне.
Для программирования в 1988 году QuickBASIC был волшебной штукой. Можно было писать код без громоздких номеров строк, отлавливать синтаксические ошибки в процессе набора и запускать программы прямиком из среды разработки без необходимости возни с командной строкой. Закончив программу, можно было делиться ею со своими друзьями при помощи вот этих ребят:
В наши дни QuickBASIC остался лишь ещё одной диковинкой из далёкого прошлого. Хотя так ли это? Новаторский проект под названием QB64 создал современную реплику QuickBASIC. Он запускается на Windows, MacOS и Linux, и не требует эмулятора. При запуске программы в QB64 среда выполняет хитрый трюк — сначала она транслирует код на BASIC в C++, а затем компилирует его.
Классический VB и эра Visual
QuickBASIC был впечатляющей средой для далёких дней текстовых компьютерных систем. Но всё изменилось, когда Microsoft выпустила Windows и погрузила пользователей PC в графический мир кнопок и кликов. Одновременно с выпуском компанией Microsoft Windows 3.0 (первой версии, которая добилась истинного успеха), был выпущен Visual Basic 1.0.
Это было нечто совершенно новое. Пользователь мог создавать кнопки для программ, рисуя их на поверхности окна, как на холсте художника. Чтобы заставить кнопку выполнять какое-то действие, достаточно было дважды щёлкнуть на неё в среде разработки и написать код. И код писался не на загадочном C++ с кучами классов, сложным управлением памятью и непонятными вызовами Windows API. Вы как цивилизованный человек писали код на дружелюбно выглядящем VB.
Все эти графические примочки впечатляли, но настоящим секретом успеха VB была его практичность. Попросту не было ни одного другого инструмента, в котором разработчик мог бы набросать полный интерфейс и приступить к кодингу так же быстро, как в VB. И хотя историки любят порассуждать о визуальной части Visual Basic, его неподражаемое умение не имело ничего общего с графическими виджетами. VB стал знаменитым благодаря легендарной функции edit-and-continue, позволявшей разработчикам запускать программы, находить ошибки, исправлять их и продолжать работать с новым кодом. Это разительно отличалось от почти всех остальных известных человечеству сред программирования, вынуждавших разработчиков компилировать работу заново и после каждого изменения начинать снова.
Оригинальный Visual Basic процветал примерно десяток лет. Возникнув как дружественная среда для новичков, он превратился в инструмент, имеющий достаточно возможностей и для серьёзных программистов. К моменту выпуска VB 6 — последней версии классического Visual Basic, в мире по приблизительным подсчётам было в десять раз больше кодеров на VB, чем на суровом C++. И они не просто создавали макеты игрушечных приложений. Visual Basic проложил себе дорогу в офисы компаний и даже в Интернет при помощи ASP (Active Server Pages) — ещё одной чудовищно популярной технологии. Благодаря ей вы могли создавать веб-страницы, способные общаться с компонентами VB, связываться с базами данных и писать HTML на лету.
Всё это происходило практически без структуры, если только вы не решали создать её самостоятельно. Это было неписанное правило Visual Basic — он давал вам свободу, о которой вы потом пожалеете.
Проблема классического VB
Во многих кругах классический VB имел плохую репутацию. Фанатики ООП часто жаловались, что VB недостаёт поддержки наследования. (Это была странная жалоба, ведь наследование часто является отличным способом для неопытных разработчиков выстрелить себе в ногу — именно этой особенности VB не требовалось.) На самом деле, классический VB не имел склонности к объектно-ориентированности. К концу своей жизни он уже поддерживал интерфейсы, полиморфизм и библиотеки классов. Всё это было позаимствовано из COM — фундаментальной части технологии компонентов, «прошитой» в каждой версии Windows.
Настоящая проблема классического VB заключалась в том, что он был слишком успешным. Он настолько эффективно снижал барьеры для новых программистов, что в нём мог работать практически кто угодно. Беззаботные новички, усталые сотрудники компаний и студенты решали проблемы, которые на любой другой платформе представляли бы гораздо большую сложность, и повсюду развешивали спагетти-код.
Другими словами, поскольку VB был достаточно лёгок в использовании, даже если вы не учились на программиста, его применяло множество людей, которые не учились быть программистами. И VB не делал ничего, чтобы помешать укоренению их плохих привычек.
Перенесёмся вперёд, в 2002 год: Microsoft занимается тем, что лучше всего получается у Microsoft — разрушает собственную экосистему разработчиков, вводя совершенно новый способ работы.
На этот раз проектом было масштабное изменение архитектуры COM — компонентной технологии, служившей опорой Windows (а косвенно и классическому VB). Это была ставка «ва-банк» для компании-мегалита, уже совершавшего несколько раз такие рискованные перемены.
Единственная проблема заключалась в том, что для реализации всех этих функций Microsoft пришлось избавиться почти от всего классического VB.
Ещё одно важное изменение: больше никакой функции edit-and-continue.
Разработчики любят жаловаться, а разработчики на VB особенно этим известны. Почти сразу же группа влиятельных разработчиков на VB окрестила новую среду программирования Microsoft именем VB.Fred, чтобы подчеркнуть тот факт, что этот новый язык не является Visual Basic.
Что обрекло Visual Basic на гибель
Современное состояние Visual Basic
В области веб-разработки Microsoft смотрит в пустоту упущенных возможностей. Кого бы не соблазнила версия VB, столь же простая в работе, как VB 6, но ещё и способная компилироваться в JavaScript и комбинироваться с дизайнером форм HTML? Да, новые Google Maps в таком инструменте не создашь, но он мог бы возродить привлекательность Visual Basic, позволив бизнес-разработчикам, студентам и любителям создавать простые онлайн-приложения без необходимости пользоваться громоздким JavaScript. Вместо этого Microsoft создала продукт на основе VB под названием LightSwitch, исчезнувший со смертью браузерного плагина Silverlight. Если Microsoft начнёт создавать ещё один продукт класса «кодинг для широких масс», то это скорее всего будет управляемый шаблонами инструмент с небольшим количеством кода наподобие PowerApps.
Visual Basic и раньше грозили разные опасности. Но на этот раз, похоже, всё по-другому. Кажется, солнце для одного из самых популярных в мире языков программирования на самом деле закатывается. Если это правда, то Visual Basic не будет постепенно исчезать на протяжении десятилетий. Он станет ещё одним легаси-продуктом, недооценённым инструментом без любви пользователей и будущего. Потеряли ли мы что-то особенное, или просто избавили от мучений устаревшую технологию — решать вам.
Читайте также: