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 контрола на форму, и выбора его свойств. Что же еще: По прежнему покрыта мраком дата выхода Visual Basic 7 и Visual Studio 7 Microsoft предпологает выпустить альфа-весию летом, а бетту - осенью. По материалам превью VB7 на VBITS Chicago. 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: Для того, чтобы называться объектно-ориентированным,
язык должен удовлетворять трем критериям: 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, не буду об этом
писать, так как самому пока не вполне ясна функциональность этих элементов.
|