С технологической точки зрения конкуренция Microsoft и сообщества поставщиков Open Source Software (OSS) идёт по четырем основным программным направлениям: операционные системы, Web-серверы, СУБД и языки программирования.


Интерактивная консоль IronPython обеспечивает доступ ко всем функциям конкретного программного модуля
Интерактивная консоль IronPython обеспечивает доступ ко всем функциям конкретного программного модуля
Соответственно, на сегодняшний день OSS представлено на ИТ-рынке так называемым LAMP-стеком, который включает комбинацию из следующих ключевых компонентов: ОС Linux, web-сервера Apache, СУБД MySQL и набора скриптовых языков, представленных сразу тремя P — PHP, Perl и Python.

По вполне понятным причинам по первым трём пунктам корпорация Microsoft занимает фактически бескомпромиссную позицию, предлагая соответственно Windows, IIS и SQL Server. А вот с различными языками программирования архитектурная модель .NET Framework имеет общие точки соприкосновения. Так, почти одновременно с выходом первой версии .NET был выпущен вариант Perl для этой среды. А не так давно в стане .NET появился еще один представитель OSS — IronPython, реализованный на базе синтаксиса другого популярного в среде Open Source языка —  Python (www.python.org).

Python был создан в 1990 г. Гидо ван Россумом (Guido van Rossum), который тогда трудился в одном из голландских математических центров. Спустя пять лет он продолжил работу над этим языком в Corporation for National Research Initiatives (CNRI) в городе Рестон (США), а в 2000 г. команда разработчиков под его руководством перешла в компанию BeOpen.com, где вскоре выпустила версию Python 2.0.

Python относится к быстро набирающей в последние годы популярность категории динамических языков программирования, позволяющих вносить изменения в структуру программы (например, добавлять и удалять функции, классы и модули), не прерывая процесса ее выполнения. Упрощенно говоря, в нем реализован принцип классического языка-интерпретатора — хорошо забытое старое, выполненное на современном технологическом уровне.

Стандартная реализация Python включает интерактивную консоль, которая дает возможность разработчику вводить команды и сразу видеть результаты их выполнения. Правда, тут стоит вспомнить, что именно так действовал и вышедший в 1964-м Бейсик. Но если тогда, сорок лет назад, Бейсик создавался для реализации простых математических вычислений начинающими программистами, то Python (как и другие современные динамические языки) ориентирован на профессионалов, которым нужно оперативно разрабатывать и управлять сложными программными решениями.

При этом следует отметить его высокую эффективность при работе со строковыми переменными и то, что стандартная библиотека языка содержит широкий спектр функций, типов, описаний и констант. В интернете можно найти много примеров кода, в том числе для автоматизации задач в Word и Excel, взаимодействия с Active Directory и с Windows Management Interface (WMI). Простой синтаксис Python позволяет даже начинающим программистам быстро осваивать базовые концепции объектно-ориентированного программирования и создавать достаточно сложные программные решения. С его помощью реализован целый ряд коммерческих продуктов как за рубежом, так и в нашей стране.

С середины 90-х годов прошлого столетия развитие скриптовых языков шло в основном под знаменем их применения при создании серверных web-приложений. Однако сейчас повышение интереса к ним связано во многом с решением широкого круга задач автоматизации управления вычислительными системами в целом (т. е. они как бы вернулись к своему начальному применению — настройка локальных приложений — на качественно более высоком уровне).

Первая версия IronPython была продемонстрирована на конференции PyCON в марте 2004 г. Ее автор Джим Хугунин (Jim Hugunin), который к тому времени уже был известен созданием подмножества языка JPython/Jython, представил полную семантическую реализацию Python на базе Common Language Runtime 1.1 как для Microsoft .NET, так и платформы Mono. Сейчас Джим Хугунин, уже являясь сотрудником Microsoft, закончил разработку IronPython версии 0.7.5, которая совместима с .NET Framework 2.0 (эта операционная среда будет официально выпущена в ноябре 2005 г.). Проект выполняется в Microsoft в рамках создания Longhorn (Windows следующего поколения) и связанных с ней технологий, в частности презентационного слоя Avalon.

В заключение отметим, что, отрицая для себя бизнес-модель Open Source, корпорация Microsoft совсем не отвергает возможность использования технологических идей OSS в своих интересах, привлекая к работе известных специалистов из конкурирующего стана. Так, в составе компании некоторое время назад была сформирована группа Linux & Open Source Software, которую возглавляет Билл Хилф (Bill Hilf), ранее занимавшийся Linux-стратегией в IBM.

В июне в эту команду Microsoft пришел также Даниэл Робинс (Daniel Robbins), основатель и руководитель фирмы Gentoo Linux — заметного игрока сегмента Linux. Объясняя этот свой шаг, господин Робинс сказал, что пришел в Microsoft, чтобы “помочь корпорации лучше понять концепцию Open Source и подходы к реализации проектов сообществом разработчиков (community-based project)”.

Найти ссылки о Python на сайте Microsoft можно на поисковой странице: www.microsoft.com/technet/scriptcenter/scripts/python/pyindex.mspx