Pull to refresh
  • by relevance
  • by date
  • by rating

IronPython как движок для макросов в .NET приложениях

.NET *
Подозреваю, многие из вас задумывались — как можно в .NET приложение добавить поддержку макросов — чтобы можно было расширять возможности программы без ее перекомпиляции и предоставить сторонним разработчикам возможность легко и просто получить доступ к API вашего приложения? В статье рассмотрено, как в качестве основы для выполнения макросов использовать IronPython — реализацию языка Python на платформе .NET.
Читать
Total votes 34: ↑33 and ↓1 +32
Views 9.1K
Comments 38

Осваиваем Python. Унция ноль. Введение.

Programming *

Предыстория



Присоединяюсь к MaxElc, DarwinTenk и Devgru :) Начинаю цикл статей посвященных Python. Сам я имею некоторый опыт обращения с PHP и Java. Но каждый раз, при относительном освоении какого-то инструмента — оставалось определённое неудовлетворение им, связанное с чем-то конкретным, и поиски продолжались. На сегодняшний день наиболее близко к идеалу в моих глазах стоит Python. Идеал недостижим — это понятно, посему и у Python есть недостатки. Прежде всего — это скорость выполнения, однако, эта проблема решаема несколькими путями и об этом мы обязательно поговорим чуть позднее.
Сам я начал осваивать Python буквально недавно. Начиная этот цикл статей — я преследую несколько целей. Во-первых, это дополнительная само мотивация + интерактивность, во-вторых, опыт. В-третьих, блуждая по просторам рунета — вижу, что Python куда менее популярен, чем в мире. Ситуацию надо исправлять :)
В соответствии с идеологией Python, а именно с тем, что одни из главных его козырей — это быстрота в освоении и скорость разработки, мы достаточно быстро, практически тезисно пронесёмся по основам синтаксиса и построения программ и перейдём к основной цели данного цикла — освоение django.
Итак, мы начинаем.
Читать дальше →
Total votes 90: ↑78 and ↓12 +66
Views 123K
Comments 86

Habrahabr, Live Writer и Code Highlighting

Lumber room

Интро



Уже практически полгода я пользуюсь Windows Live Writer в качестве инструмента для написания веб-ориентированных статей. Это отличный инструмент, работающий с большим количеством blogengine’ов, и даже с SharePoint. Но разговор не об этом, в связи с тем, что я разработчик, мне частенько приходится вставлять листинг кода в написанные статьи, на это я и хочу обратить ваше внимание.
Читать дальше →
Total votes 21: ↑15 and ↓6 +9
Views 200
Comments 3

REPL WebPart для SharePoint

SharePoint

Intro


logoСегодня я расскажу о прототипе первого компонента под ярлычком Sapphire. Это REPL WebPart. Эта веб-часть предназначенная для производства оперативных изменений на серверной стороне SharePoint, так же для удаленного исполнения скриптов и тестирования некоторых кусков кода.

PreBody


Производство данной веб-части было инициированно в довольно таки частых потребностях исполнения серверного кода с достаточной оперативностью, в недоступности средств разработки под рукой.
Здесь есть небольшая презетнация, в которой я постарался отобразить принципы работы Repl WebPart: Sapphire Environment Repl WebPart
В добавок к слайдам расскажу о том, что веб-часть представляет собой классический хостинг Dynamic Languages Runtime языков, пока из которых доступен только Python.
Читать дальше →
Total votes 9: ↑6 and ↓3 +3
Views 708
Comments 2

Даешь поддержку IronRuby и IronPython в Visual Studio 2010!

.NET *
Как ранее утверждали менеджеры из команды Visual Studio 2010, поддержки динамических языков IronRuby и IronPython в ней не будет. Однако, судя по всему, появился шанс изменить это — на сайте Microsoft Connect проводится опрос: нужна ли разработчикам поддержка этих языков в новой версии их продукта? Поддержим любимые языки на любимой платформе!

Ссылки для голосования:

IronRuby (сейчас 417 голосов)
IronPython (сейчас 294 голоса)

Судя по ответам отдельных личностей в твиттере, есть шанс, что к сообществу прислушаются и все-таки сделают out-of-box поддержку.

UPD: Соответственно 453 и 334. Дотянуть бы IronRuby до полутысячи…
Total votes 24: ↑15 and ↓9 +6
Views 924
Comments 18

Python в Visual Studio 2010

Visual Studio *


Python становится ближе для тех, кто любит и использует Visual Studio 2010. Недавно, на сайте проекта IronPython были опубликованы бесплатные инструменты для работы с кодом Python в Visual Studio.

IronPython – это реализация языка Python 2.6 созданная Microsoft для платформы .NET, код которой может быть использован в других языках .NET и, наоборот, в IronPython возможно вызывать код из .NET-проектов.

image

Инструменты, которые теперь интегрируются в среду разработки Visual Studio 2010 теперь предлагают полноценную возможность разрабатывать проекты на языке Python. И для многих .NET-разработчиков эти инструменты станут прекрасной возможностью изучить новый для себя язык в знакомом окружении.

Рассмотрим возможности новых инструментов и то, как они интегрируются в Visual Studio.
Читать дальше →
Total votes 90: ↑72 and ↓18 +54
Views 11K
Comments 23

2Гига. Выпуск #7: Даешь новые стандарты

Lumber room
2ГигаУчастники:
Евгений Жарков
Владимир Юнев

 

Содержание:Подкаст на RPOD
Подкаст на POD.FM
Total votes 49: ↑27 and ↓22 +5
Views 623
Comments 15

Разработчик научных пакетов SciPy/NumPy выпустит их на .NET/IronPython

Python *
Компания Enthought, Inc. заявила в своем пресс-релизе (pdf) о намерении выпустить библиотеки SciPy и NumPy, предлагающие инструменты для научных вычислений на языке Python, для платформы .NET.

SciPy и NumPy – это пакет высокопроизводительных статистических и числовых инструментов для языка Python. Они используются в основном для быстрой обработки данных и анализа в научных приложениях. У обоих инструментов есть большое opensource-сообщество, которое расширяет и улучшает их.

“Мы очень рады предложить мощь наших инструментов для новой группы пользователей на платформе .NET” – сказал Тревис Олифант (Travis Oliphant), президент Enthought в своем обращении на мероприятии SciPy 2010, которое проходило в городе Остин, штат Техас.
Total votes 24: ↑15 and ↓9 +6
Views 1.6K
Comments 3

Выпущена новая версия IronPython 2.7 Alpha

Python *
ironpython-logo

Вслед за обновлением IronRuby, обновилась и реализация языка Python для .NETIronPython. В новой версии IronPython 2.7 Alpha добавлена предварительная поддержка CPython 2.7 и проведены другие изменения:
  • добавлена интеграция с Visual Studio (набор IronPython Tools for Visual Studio);
  • расширена документация по CPython 2.7 с полезной информацией относящейся к IronPython;
  • добавлены модули mmap и signal;
  • произведено некоторое количество улучшений производительности и исправлений ошибок;
  • лицензия изменена с MSPL на Apache License, Version 2.0;
  • новая версия требует .NET 4.0 и Silverlight 4.0.
Загрузить пакет установки новой версии IronPython 2.7 можно по этой ссылке.

Посетите официальный сайт проекта по адресу http://www.ironpython.net/.
Total votes 26: ↑15 and ↓11 +4
Views 1.2K
Comments 2

2Гига.Выпуск #18: Есть ли жизнь на Марсе?

Lumber room
2ГигаMarsУчастники:
Евгений Жарков
Владимир Юнев
 
 

Содержание:Длительность: ~60 минут
Подкаст на RPOD, POD.FM
Total votes 23: ↑13 and ↓10 +3
Views 482
Comments 10

Python как базовый язык для ASP.NET

Python *
Один из разработчиков IronPython (.NET-реализации языка Python) опубликовал в своем блоге запись с анонсом новой версии реализации интеграции IronPython как базового языка для разработки ASP.NET-приложений.

Пакет для ASP.NET поставляется с примером приложения. Вот кусок кода, который реализует два обработчика для ASP.NET: загрузки страницы и нажатия на кнопку:

image

Пакет интеграции IronPython и ASP.NET распространяется с открытым исходным кодом под лицензией Apache 2.0.

Этот релиз примечателен тем, что в нем присутствуют исходные коды сборки Microsoft.Scripting.AspNet.dll под опенсорс-лицензией.

Загрузить пакет IronPython and ASP.NET integration можно по этой прямой ссылке.

Для удобства разработки, вы можете захотеть установить набор инструментов IronPython tools for Visual Studio.
Total votes 38: ↑25 and ↓13 +12
Views 6K
Comments 23

IronRuby и IronPython переданы в руки сообщества, выпущены IronRuby Tools for Visual Studio

.NET *
Большие новости от Microsoft по поводу открытой реализации динамических языков Ruby и Python для .NET. Прежде всего надо сказать, что долгожданная интеграция и поддержка IronRuby в Visual Studio выпущена в свет! Ранее такая поддержка была доступна для IronPython (подробности по этой ссылке).

Кроме того в новом IronRuby 1.1.1 поддерживается Ruby 1.9.2. Кроме того есть поддержка проектов Ruby On Rails!

image

Читать дальше →
Total votes 57: ↑43 and ↓14 +29
Views 1.9K
Comments 25

Компания Microsoft представила поддержку Python в Visual Studio

Visual Studio *
image

Компания Microsoft выпустила в режиме бета-тестирования пакет Python Tools for Visual Studio (PTVS), предназначенный для обеспечения поддержки языка Python в интегрированной среде разработки Visual Studio 2010. Код пакета разработан в недрах Microsoft и открыт в рамках лицензии Apache 2.0.

Читать дальше →
Total votes 154: ↑138 and ↓16 +122
Views 4.6K
Comments 72

Кросс-вмный (CLR/JVM) код на Python

Python *Java *.NET *
Это узкоспециализированная короткая заметка про то, как я запинывал write once, run everywhere тесты для библиотеки, портированной с C# на Java, при помощи Python.

Смысл в следующем: есть большая, толстая и красивая библиотека, которая была по коммерческим соображениям портирована с C# на Java. API осталось почти одинаковым, naming conventions естественно сменились при переходе на другой язык. Нам нужно было написать толстую пачку тестов, проверяющих, что клон библиотеки работает идентично оригиналу (тесты на регрессии, иными словами). Для этого сравнивались результаты работы кода библиотек (некие бинарники и xml-метаданные). Тесты были нетривиальные, их было много, и что самое неприятное — они постоянно дописывались с одного конца командой из четырех человек. Некоторое время я старательно портировал их на Java, затем плюнул и предложил команде писать тесты на языке, который сразу можно было бы выполнять на CLR (со старой библиотекой) и на JVM (с клоном). Оказалось, они и сами уже некоторое время думали про Python,
и вот как это получилось.
Total votes 44: ↑43 and ↓1 +42
Views 3K
Comments 10

CPython vs. IronPython: вычисление MD5-хеша

Python *.NET *
Sandbox
Понадобилось как-то в проекте сделать автообновление для клиентского приложения. Так как работало оно с отечественными криптопровайдерами, доступ к которым проще получить из .Net, написано оно было на IronPython. При этом C# выбран не был, так как на стороне сервера уже активно использовался python и сильно переучиваться не хотелось.

Казалось бы всё просто. Был набросан скрипт, который вычисляет md5-хеши для файлов входящих в состав приложения, сводит всё в один файл со строками вида “относительный путь”:”md5” и выкладывает в директорию раздачи статики nginx. Клиентское приложение при запуске забирает файлик, прогоняет аналогичный скрипт, и сверяет полученный результат с эталоном.

Но тут обнаружилась маленькая деталь. В IronPython скрипт выполнялся в несколько раз медленнее. И это на достаточно быстром железе. У пользователя же оно могло быть значительно слабее. Началась оптимизация, в ходе которой родилась мысль провести сравнение производительности CPython и IronPython на этом примере. В статье, соответственно, рассматриваются три отдельных результата: для CPython, IronPython и IronPython с адаптированным скриптом.
Результаты под катом.
Читать дальше →
Total votes 28: ↑25 and ↓3 +22
Views 9.7K
Comments 44

Делаем standalone exe на IronPython

Python *
Иногда требуется написать маленькую программу, которая будет распространяться в виде исполняемого файла, и при этом не хочется, чтобы с программой ещё было море файлов. Один exe-шник и всё, да при этом хочется, чтобы его написание не занимало много времени (какой-нибудь лёгкий язык).
CPython в комплекте с py2exe или cx_Freeze не даёт требуемого результата: много файлов и большой размер программы, хотя и работает очень быстро. Хорошее решение смог получить в IronPython с помощью встроенного компилятора pyc. Даже IDE не потребовалась. Подробности под катом.
Читать дальше →
Total votes 28: ↑20 and ↓8 +12
Views 18K
Comments 10

Взаимодействие интерпретаторов Python-IronPython-Jython

Python *
Возникла необходимость в решении такой задачи: как обмениваться данными между разными интерпретаторами Python?! Отыскал несколько решений, но хочу рассказать об одном, на мой взгляд, самом удобном.
Читать дальше →
Total votes 18: ↑17 and ↓1 +16
Views 6.4K
Comments 11

Используем IronPython из Transact SQL

Python *.NET *Microsoft SQL Server *
Sandbox
Transact SQL великолепный язык, функциональности которого более чем достаточно для решения большинства часто возникающих задач. Однако иногда возникают задачи, которые с его помощью решать долго и/или неудобно. Пожалуй, самым ярким примером является продвинутый парсинг строк, в котором приходится использовать регулярные выражения или просто хитрый и закрученный алгоритм. Начиная с SQL Server 2005, эта проблема решается созданием хранимой процедуры/функции CLR. Но этот подход требует перекомпиляции и развертывания сборки при внесении изменений. А так хочется, не покидая Management Studio, изменять поведение своих процедур.
Естественным образом возникает желание встроить в T-SQL поддержку какого-нибудь скриптового языка, чтобы выполнять код на лету. Благодаря DLR (Dynamic Language Runtime) в .Net Framework 4 у нас появилась такая возможность. Исключительно в силу личных пристрастий автора в качестве такого языка был выбран IronPython.
Под катом пошаговая инструкция и демонстрация результата.
Читать дальше →
Total votes 13: ↑12 and ↓1 +11
Views 6.2K
Comments 6

Проверяем IronPython и IronRuby с помощью PVS-Studio

PVS-Studio corporate blog Open source *Python *.NET *C# *
Совсем недавно мы выпустили новую версию нашего анализатора PVS-Studio с поддержкой проверки C# проектов. Пока на время релиза дальнейшая разработка продукта была приостановлена, я занимался тестированием анализатора. В качестве проектов для своих экспериментов я взял IronPython и IronRuby. А раз эти проекты были проверены, я решил написать небольшую статью-отчёт.



IronPython и IronRuby


IronPython и IronRuby представляют собой реализацию языков программирования Python и Ruby на платформе .NET. Исходный код этих проектов доступен на GitHub по этой ссылке. Также в комплекте идёт исходный код DLR. Начиная с .NET Framework 4.0 DLR является его частью, и IronPython и IronRuby используют её. Тем не менее я всё равно проверил старую версию DLR, раз уж она там оказалась.
Подробности
Total votes 29: ↑28 and ↓1 +27
Views 7.5K
Comments 5
1