Главная страница Visual 2000 · Общий список статей

VB 7 будет объектно-ориентированным

Андрей Колесов

© 2000,Андрей Колесов
Авторский вариант. Статья была опубликована c незначительной литературной правкой в еженедельнике PC Week/RE № 11/2000, с. 23. PC Week/RE Online

Судя по предварительной информации, анонсированной корпорацией Microsoft, в новой версии Visual Basic, которая должна появиться в течение ближайшего года, пользователей этого популярного инструмента ждет целый ряд приятных сюрпризов. О значимости этих инноваций говорит и тот факт, что презентацию ключевых новшеств VB 7.0 на проходившей в середине февраля в Сан-Франциско конференции Visual Basic Insider's Technical Summit сделал сам президент Microsoft Стив Балмер. Там же было проведено несколько технических демонстраций на базе существующей сегодня альфа-версии VB 7.0.

Как стало известно, главные расширения новой версии будут связаны с изменениями в базовом языке VB, работе с Web-формами и использовании Web-технологий. Модификация языка будет определяться реализацией объектно-ориентированной модели программирования и состоять из следующих элементов:

Наследование, основанное на применении кода и визуальных методов. Обещано, что VB 7.0 будет иметь полностью объектно-ориентированный язык со всеми его атрибутами, что влечет наследование, инкапсуляцию, полиморфизм, перегрузку (overloading) и применение параметризованных конструкторов. Кроме того, будет предоставлена возможность создавать шаблоны формы и расширять их через наследование.

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

Структурная обработка особых ситуаций. Следующая версия позволит осуществлять обработку ошибок без ужасных конструкций GOTO, которые мучают программистов со времен древнего GW Basic. Теперь будет применяться тот же подход, что и в C++ или Java.

Кроме собственно языка необходимо отметить еще две будущие новые функции VB 7.0:

Web-формы. Эта технология подразумевает, что VB-программисты смогут формировать Web-интерфейсы почти точно так же, как они создают формы Windows. Используя палитру инструментальных средств, специально сгенерированных для поддержания любой из версий HTML, и метод "перетащи и оставь", можно будет создавать пользовательский интерфейс на базе Web и писать сервер-ориентированный код для каждого объекта так же, как это делается для форм на базе Windows. Код для Web-форм постоянно находится на сервере, а HTML генерируется "на лету". Элементы управления Web-форм преобразуются в HTML-объекты по мере выполнения кода на сервере. Как обещает Microsoft, VB 7.0 будет использовать "первоклассный" HTML-редактор, который войдет в состав Visual Studio и сможет поддерживать работу с различными версиями HTML (например, 3.2, 4.0, или XML).

Web-сервисы. Эти сервисы предназначены для упрощения бизнес-общения через intranet-сети и Internet. Как заявил во время демонстрации этих функций представитель Microsoft: "Они проще для развертывания и управления, чем DCOM". Web-сервисы являются платформенно-независимой технологией и основаны на протоколе доступа к простым объектам (Simple Object Access Protocol — SOAP) и поддержке стандарта XML. При этом Microsoft будет стремиться к совместимости с Unix и Linux.

Довольно единодушные оценки экспертов по поводу ожидаемых инноваций VB 7 характеризуются определениями типа "превосходящие все ожидания". В этой связи редактор журнала VBPJ Патрик Мидер сопроводил информацию о VB 7.0 таким комментарием: "Возможно, новшества VB 7.0 вызовут огромное негодование как у критиков, так и у давнишних пользователей этой системы". Причиной недовольства первой группы станет то, что у них отнимут многие аргументы против VB. А гнев второй можно будет объяснить простым вопросом: "Почему, чтобы дождаться этих функций, мы были вынуждены ждать шесть предыдущих версий в течение почти десяти лет?".

Действительно, парадокс VB заключается в том, что это далеко не самое изысканное средство разработки еще несколько лет назад превратилось в самый массовый инструмент создания приложений, используемый как в небольших фирмах, так и в крупных корпорациях. И это при том, что в нем явно не хватало многих функций, давно реализованных в конкурирующих системах, а Microsoft явно не торопилась с их включением в VB, расширяя его возможности строго дозированными порциями. Напомню, что создавать повторно используемые компоненты (причем исключительно в виде OLE-объектов) можно стало только в версии 4.0, а компилятор с созданием настоящего машинного кода появился лишь в VB 5.0.

Однако, говоря о будущих достоинствах VB 7.0, следует отметить также некоторые возможные потенциальные проблемы с их внедрением. Например, вопрос о том, в какой степени сообщество разработчиков готово к такому довольно радикальному расширению возможностей VB, представляется не столь простым. Ведь объектно-ориентированные методы программирования предъявляют более серьезные требования к квалификации разработчика, на которого перекладываются многие проблемы обеспечения работоспособности программы.

Не менее важной является поддержка определенного уровня обратной совместимости версий (вверху-вниз). Серьезные структурные изменения инструмента могут привести к тому, что традиционная миграция приложений из VB 6.0 в VB 7.0 не приведет к функциональному расширению этих прикладных систем за счет простого использования новых возможностей. Вполне вероятно, что применение новшеств потребует радикального преобразования приложений на структурном уровне.

Тем не менее, такое решительное изменение технологий VB представляется вполне оправданным и, более того, совершенно необходимым, учитывая растущую конкуренцию в сфере инструментальных средств, и в первую очередь со стороны Java.

В начало статьи