ОБЗОР
Судя по предварительной информации, полученной от корпорации Microsoft, пользователей новой версии Visual Basic 7.0, которая должна появиться в течение ближайшего года, ждет целый ряд приятных сюрпризов. О значимости этих новшеств говорит и тот факт, что на проходившей в середине февраля в Сан-Франциско конференции Visual Basic Insider’s Technical Summit их представил сам президент Microsoft Стив Балмер. Там же, на конференции, было проведено несколько технических демонстраций на базе существующей сегодня альфа-версии VB 7.0.
Как стало известно, главные расширения новой версии будут связаны с изменениями в базовом языке VB, работе с Web-формами и использовании Web-технологий. Модификация языка определится в основном реализацией объектно-ориентированной модели программирования и будет состоять из следующих элементов:
- наследование, основанное на применении кода и визуальных методов. Обещано, что VB 7.0 будет иметь полностью объектно-ориентированный язык со всеми его атрибутами - наследованием, инкапсуляцией, полиморфизмом, перегрузкой (overloading) и параметризованными конструкторами. Кроме того, появится возможность создавать шаблоны формы и расширять их через наследование;
- многопотоковость. VB часто критикуют как совершенно неподходящий инструмент для создания серверных Web-приложений. Добавление многопотоковости должно уменьшить число подобных жалоб;
- структурная обработка особых ситуаций. Новая версия позволит обрабатывать ошибки без ужасных конструкций GOTO, которые мучат программистов со времен древнего GW Basic. Теперь будет применяться тот же подход, что и в Си++ или 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-услуги, предназначенные для упрощения бизнес-общения через интра-сети и Internet. Как заявил во время демонстрации этих функций представитель Microsoft: “Они проще для развертывания и управления, чем DCOM”. Web-услуги - платформно-независимая технология, основанная на протоколе доступа к простым объектам (Simple Object Access Protocol, SOAP) и поддержке стандарта XML, стремящаяся к совместимости с Unix и Linux.
Эксперты, обсуждая инновации в VB 7, пользуются определениями типа “превосходящие все ожидания”. В этой связи интересен комментарий редактора журнала VBPJ Патрика Мидера: “Новшества 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.