Корпорация намерена извлечь дополнительную выгоду из .NET

Похоже, что и Microsoft, разрабатывающая инициативу .NET, намерена извлечь дополнительную выгоду из собственных технологий.

Анонсируя бета-версии продуктов .NET Framework и Common Language Infrastructure (CLI), корпорация пытается помочь разработчикам решить задачу создания служб .NET средствами различных языков, а также заставить уже существующие программы, написанные на разных языках, работать на платформе .NET.

Недавно Microsoft представила спецификации нового языка программирования C# и CLI на рассмотрение Европейской ассоциации производителей компьютерных систем (European Computer Manufacturers? Association — ECMA) с тем, чтобы добиться их утверждения в качестве стандартов.

По мнению аналитиков, обещание открыть платформу .NET уже нашло воплощение в технологиях CLI и Common Language Runtime (CLR), которые помогут разработчикам языков проектировать компиляторы, позволяющие переносить их языковые средства на платформу CLR. Если технология станет работать так, как ее рекламируют, то приложения, написанные на этих языках, будут выполнять роль служб .NET.

«Microsoft, безусловно, собирается использовать все это в качестве противовеса Java, — заметил вице-президент аналитической компании Summit Strategies Дуайт Дэвис. — Только непосвященный не заметил бы столь откровенного наступления на позиции Sun».

Представители Microsoft, со своей стороны, утверждают, что платформа .NET охватывает гораздо более широкую область по сравнению с Java.

«Разработчики получают возможность создавать программные службы средствами любого языка на любой платформе, — подчеркнул ведуший менеджер проекта .NET Framework Джон Монтгомери. — А при желании впоследствии их без труда можно будет перенести на любую другую платформу».

Несмотря на то что в Microsoft называют .NET нейтральной средой, отмечается, что лучше всего она подходит все же для платформы Windows. Компонентное проектирование отличается от написания единой и монолитной программы тем, что отдельные элементы программного обеспечения поступают из различных источников. Именно такая технология всегда считалась наиболее удобной для разработки крупных проектов. Правда, у этого процесса есть и обратная сторона — ведь по эффективности большинство старых языков уступают новым.

«Конечно, Microsoft не собирается утверждать, что Кобол обеспечит вам тот же уровень функциональности и производительности, что и C#», — заметил Дэвис.

Некоторые фирмы уже приступили к разработке программного обеспечения для платформы .NET на основе предварительных версий CLR.

Компания Orbis Systems, специализирующаяся на разработке медицинских приложений, в качестве основного инструментального средства начиная с 1980 года использовала Кобол. Примерно три года назад руководство компании приняло решение приступить к созданию приложений для Internet. Сегодня Orbis Systems с помощью корпорации Fujitsu постепенно переходит на платформу .NET.

Впрочем, не все готовы делать ставку на .NET. Разработчик из корпорации GE Тим Оливер в ходе дискуссии, развернувшейся на Comdex, заметил, что его коллеги намерены отказаться от предшественника .NET — компонентной объектной модели Component Object Model в пользу Java.

А Microsoft, естественно, все свои планы строит вокруг .NET.

Недавно корпорация еще более укрепила позиции новой архитектуры, представив бета-версии продуктов Visual Studio.NET и Microsoft .NET Framework.

Руководство Microsoft надеется, что разработчики станут широко использовать средства Visual Studio.NET и .NET Framework для создания служб Web на платформе .NET. В этом случае у Windows появляются шансы сохранить свое доминирующее положение в мире, который будет ориентирован на Internet, а не на конкретную операционную систему.


Элементы времени исполнения

Microsoft готовит свою версию универсальной среды времени исполнения

Исходный файл. Различные языки программирования поддерживают разные типы.

Компиляторы .NET. Типы в нескольких различных языках программирования наследуют новый тип из библиотек .NET Framework.

Исполняемый файл. Итоговый промежуточный язык (IL) сохраняется в файле, с новыми типами метаданных; другие языки могут теперь импортировать этот файл.

Время исполнения. Исполняющая система компилирует, загружает и начинает исполнение файла IL; ссылки на типы, определенные в другом файле IL, вызывают загрузку этого файла, используя новый тип во время исполнения после того, как прочитаны его метаданные.