Microsoft DLR помогает использовать больше языков на платформе .NET

Инфраструктура Dynamic Language Runtime (DLR) компании Microsoft облегчает использование динамических языков на платформе .Net. По словам Джима Хьюгинина, специалиста Microsoft по DLR, популярность динамических и сценарных языков растет и корпорация хочет привлечь к оаботе на своей платформе Web-программистов, работающих с открытым исходным кодом. Важный плюс новой инфраструктуры — ее стабильность и обширный набор проверенных инструментов. “Наша идея состояла в максимальном упрощении адаптации языков к .Net”, — сказал Хьюгинин.

DLR представляет собой общую инфраструктуру для эффективного применения на базе .Net различных языков, включая Python, JavaScript, Visual Basic, Ruby, Perl и PHP. Первой DLR-ласточкой стал IronPython — собственный язык Microsoft, созданный самим Хьюгинином. Он поделился накопленным опытом работы с DLR, например, посоветовал использовать генератор меток и синтаксический анализатор, транслировать исходные деревья AST (Abstract syntax tree) в деревья DLR и реализовывать специальные типы данных и настройки посредством существующих типов .Net.

Но Microsoft ориентируется на применение DLR не только с IronPython, но и с языками IronRuby (версия Ruby для .Net), JavaScript и Visual Basic. По словам Хьюгинина, особенность IronRuby состоит в использовании имен в стиле Ruby, что должно понравиться Ruby-сообществу. В DLR-реализации JavaScript предусмотрено их написание со строчной буквы, что характерно для этого языка.

Первая версия DLR размещена на сайте Microsoft-сообщества разработчиков CodePlex и является проектом с открытым исходным кодом, который может служить основой для дальнейших исследований. Однако, заметил Хьюгинин, следующий выпуск уже станет стандартным компонентом среды .Net Framework.

По признанию Хьюгинина, он разработал IronPython, чтобы развенчать теорию, будто динамические языки не пригодны для платформы .Net. Эту работу он начал вскоре после ухода из исследовательского центра Xerox, где трудился над AspectJ — аспектно-ориентированной реализацией Java. Хьюгинин создал IronPython в 2003-м и год спустя поступил в Microsoft.

Коротко о Microsoft DLR
  • Эта инфраструктура предложена для упрощения использования разных языков на платформе .Net.
  • В настоящее время с ней работает язык Microsoft IronPython.
  • В дальнешем будут поддерживаться и другие языки, включая JavaScript, Python, Ruby, Perl, PHP, Visual Basic и IronRuby.
  • На первых порах DLR будет проектом с открытым исходным кодом под опекой Microsoft; следующий выпуск станет компонентом .Net.

Источник: eWeek.

Сегодня IronPython эффективно функционирует на базе .Net. Хотя аналогичная реализация языка Си превосходит IronPython по быстродействию примерно в тридцать раз, цель Хьюгинина состояла не в том, чтобы догнать Си, а в доказательстве работоспособности IronPython на платформе .Net. Перед ним стояли две задачи: органичная интеграция Python, во-первых, с .Net, а во-вторых — с Visual Studio. Сейчас команда разработчиков IronPython трудится вместе с создателями Visual Studio Software Development Kit.

Язык IronPython 1.0 появился в октябре 2006-го, а в марте 2007-го вышла версия 1.1. По словам Хьюгинина, лицензия на эту технологию распространяется по модели открытого исходного кода.

Возвращаясь к DLR, он сообщил, что эта инфраструктура взаимодействует с несколькими продуктами Microsoft, включая XNA Game Studio, Microsoft Robotics Studio, ASP.Net, Windows Vista, Exchange Server и Silverlight.