Назад

 

Visual Basic 7 - Все же революция!

Информация, датированная концом мая месяца, VBITS, презентация от David Mendlen, Microsoft Visual Basic Product Planner

Микрософтовский анонс VB7 - от начала года.

Была показана предварительная (даже не альфа)версия VB7, входящая в состав новой Вижуал Студии.

Микрософт позиционирует этот продукт следующим образом :
- Visual Basic - продуктивный инструмент разработки приложений
- Visual C++ - наиболее полный и мощный (power) инструмент
- Visual InterDev - Инструмент для создания WEB приложений

Основной целью выпуска VS7 было декларировано: "упрощение создания WEB приложений серьезного уровня (уровня предприятий)" Итак, WEB теперь тоже находится в сфере интересов программистов на Visual Studio. Visual InterDev является частью интергрированной среды. Естественно, будет работать HTML IntelliSense (подсветка синтакстиса функций, методов и свойств) и завершение ввода тэгов.

По сведениям Микрософт 90 процентов web программистов используют также VBScript, соотвественно VI 7 будет поддерживать все VB-языки.

Был продемонстрирован новый VB menu editor. Участники VBITS в Сан-Франциско, кто "поторогал" новый редактор единодушны в своем мнении - новый редактор много лучше предыдущего и наконец "сделан правильно". Теперь создание меню может быть выполнено визуально - путем перетаскивания MainMenu контрола на форму, и выбора его свойств.

Что же еще:
Новая версия OptionExplicit, названная "OptionStrict," Эта опция требует строгого использования типов.(По моему давно пора) Наследование визуальных характристик, больше похоже на user interfaice теперь работает и для контролов
Осталось неясным, как WebClasses будут поддерживаться в VB7. Mendlen обьяснил это тем, что WebClasses - its "generic technology." Не было показано, так же, как будет поддерживаться синхронизация между потоками.

По прежнему покрыта мраком дата выхода Visual Basic 7 и Visual Studio 7 Microsoft предпологает выпустить альфа-весию летом, а бетту - осенью.


По результатам обсуждения в группах я вычитал в адрес VB7 следующее:
- можно будет создавать консольные приложения MS по прежнему рекомендует использовать VC++ для этого, однако VB сможет создавать NT сервися, причем темплэйт для этого будет включен в поставку.
- вы получите больший контроль над процессом линковки. Линковка многоязычых модулей станет обычным делом
- будут добавлены некоторые новые опции для оптимизации. Что-то типа поддержки новых фич процессоров.
- наконец, начтоящее наследование. Причем будет поддерживаться наследования компонентов, для которых у вас есть исходные коды на VB или VC++. Откомпилированные компоненты уже не смогут быть унаследованы.

По материалам превью VB7 на VBITS Chicago.
Хорошая новость - теперь VB7 сможет использовать Windows Foundation Classes (WFC)
VB 7 обещает стать объектно - ориентированным языком, в полном смысле этого слова. Несколько слов об этих возможностях:

Constructors: Когда объект создается - весьма неплохо иметь вохможность передать ему некоторые данные для инициализации. Сейчас это невозможно, и вы вынужденны создавать специальные инициализационные методы, и после создания их вызывать (я, например этим сильно недоволен). В VB 7 конструкторы обьетов смогут принимать параметры, это упростит жизнь простым программистам :-)

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

Free-threaded: Многопоточность - это комплексная концепция.Free-threading базируется на идее иметь возмоможность выполнять более одного потока в одно время. Например, печать документа в фоне, пока пользователь набирает новый документ. Free-threaded очень важен для создания масштабируемых server-side компонент, так же он может быть полезен и при создании интерактивного юэер - интерфейса.

Inheritance: Наследование - Куча копий сломано по этому поводу - вкратце - возможность использования свойств и поведения чужого объекта, возможность расширения поведения этого объекта. Я могу создать объект Товар, на основе его создать объект Пищевой товар, и Промышленный товар. Оба будут наследовать свойства и поведение от объекта Товар. При этом в любой момент вы можете расширить или изменить поведение наследующего объекта.

Initializers: Сегодня в VB вы объявляете переменные и потом присваиваете им значения - т.е. 2 строки кода. Инициализаторы позволяют декларировать и присваивать значения в одном стэйтменте.

Object-based: Это сравнительно легко для любого языка - называться object-based. Можно назвать так любой язык легко взаимодействующий с объектами. Visual Basic имеет такую функциональность начиная с третьей версии, а сейчас (vb6) - DAO objects, ActiveX контролы, RDO, ADO и многие другие.

Object-oriented: Для того, чтобы называться объектно-ориентированным, язык должен удовлетворять трем критериям:
1- Он должен поддерживать инкапсуляцию(encapsulation). VB делает это с 4 версии
2 - Обязн поддерживать наследование(inheritance). VB 7 будет иметь полноценное наследование.
3 - Ну и поддержка полиморфизма(polymorphism). В VB это работает с 4 версии. Итак, в 7 версия будет вполне удовлетворять этим критериям.

Overloading: Объекты частo выполняют одинаковые действия с похожими типами данных. Например, требуется добавить в обьект Заказ элемент Продукт и элемент Сервис. Легко, добавляем методы AddService и AddProduct в объект Order, и готово. Используя overloading мы можем использовать метод Add для каждого случая, позволяя VB автоматически вызывать правильный метод в зависимости от передаваемых данных.

Overriding: Когда мы используем наследование, наш новый класс получает все методы от родительского класса. Однако может быть необходимим изменить какие либо из этих методов.Вы можете Переписать эти методы используя Overriding В тоже время VB7 будет позволять импользовать и оригинальный метод родительского объекта, используя ключевое слово MyBase (MyBase.methodname).

Polymorphism: Просто возможность иметь 2 различных объекта, разного типа. При этим, каждый из них может может поддерживать одинаковые методы. Это позволяет нам писать код, вызывающий нужный метод в зависимости от типа объекта, используемого в данный момент.

Shared Members: По другому(в С языке) называемый статический член класса, - метод или переменная, одинакого доступная для всех экземпляров класса. Каждый порожденный объект, базирующийся на данном классе будет иметь доступ к такой переменной или методу. Таким манером легко создавать счетчики экземпляров класса

Structured Exception Handling: Обработка исключений. Взамен древнего, и нередко абсолютно негибкого On Error Goto выражения, мы имеем новую структуру для обработки ошибок. Это блок, содержащий Try, Catch, Finally ключевые слова. Код между Try и Catch является защищенным, и если ошибка случается выполняется Catch блок. После выполнения Catch блока выполняется код из Finally блока. Собственно, это стуктура, принятая во всех современных языках.

Type Safety: Visual Basic сегодня преобразовывает типы автоматически. Нередко эти приводит к странностям в поведении программы. Используя type safety мы сможем заставить Vb избегать автоматического преобразования типов. Хотя эти и заставит программиста думать перед присвоением переменной одного типа другому, но при этом позволит избежать ошибок.

User Interface Inheritance: Наследования в языке недостаточно! VB 7 будет включать наследовние форм. Это означает, что вы сможете создать шаблон формы, положить на нее тулбар, лого, установить цвета, и после этого создавать остальные формы, базируясь на этой, базовой. Все последующие будут наследовать внешний вид и код. И, главное - изменения в базовой форме будут автоматичемки приводить к изменениям в дочерних. Останется только перекомпилировать проект. Неплохо, а?!

Так же из нового: WebForms и Web Services, не буду об этом писать, так как самому пока не вполне ясна функциональность этих элементов.


 

Hosted by uCoz