Железный Python: как хорошо использовать Железный Python [закрыто]

В дополнение к тому, что сказал Nick, можно узнать больше в Переданные потоком Строки: Переходящие Шаблоны для Параллельной Разработки программного обеспечения

enter image description here

В этом рисунке main являются соединительной линией, rel1-maint ответвление, и 1.0 тег.

27
задан Karl Knechtel 2 December 2010 в 14:57
поделиться

6 ответов

И то, и другое:)

Я бы не сказал, что знаю конкретную «цель» для IronPython, но он, безусловно, может использоваться для написания приложений, а он может использоваться для создания сценариев в больших приложениях .NET.

Помимо всего прочего, это удобный способ осторожного перехода разработчиков Python в мир .NET. (Почему бы не изучать C # одновременно? Заходите, вода прекрасна ...)

29
ответ дан 28 November 2019 в 04:34
поделиться

IronPython с WPF - самый продуктивный способ создания графического интерфейса, который я знаю. Почти все приложение, изображенное ниже, написано на IronPython. Из соображений производительности в C # или C ++ / CLI выполняются только очень маленькие детали.

Конечно, вам не хватает интеграции с WPF / C #, но вы получаете гораздо больше в плане производительности.

alt text

IronPython также намного легче расширить, чем CPython. Вы берете свой код C ++ и просто добавляете небольшую оболочку C ++ / CLI поверх него. В CPython нет ничего более простого. По этой причине я начал использовать IronPython, потому что устал от написания оболочек для своего кода C ++ на CPython. Boost.Python, SWIG и тому подобное у меня не сработали.

8
ответ дан 28 November 2019 в 04:34
поделиться

Я думаю, что семейство языков Iron в первую очередь предназначено для добавления в платформу большего количества разновидностей, что позволяет вам войти в .NET с помощью языка, с которым вы знакомы. Это значительно снижает планку для привлечения новых людей с разным опытом в .NET

Несмотря на то, что синтаксис - Python, реализация по-прежнему строится на основе CLR, и конечный продукт не будет сильно отличаться, если решили пойти на проект IronPython вместо C #.

У меня был некоторый опыт работы с IronPython, и мне было приятно с ним работать (это, конечно, помогает, мне действительно нравится язык). IronPython теперь считается первоклассным гражданином Microsoft, и это также впечатление, которое вы получаете при его использовании. Однако его недостатком является то, что он не так широко используется, как два основных языка, что вызывает некоторые проблемы, когда речь идет о совместной работе и поддержании базы кода с течением времени.

Я нашел это особенно полезным при создании порта .NET алгоритма поиска, который впервые был реализован в Python.

Что касается добавления возможностей скриптинга в ваше приложение, это, вероятно, не оригинальное намерение с IronPython, но это было сделано. Umbraco CMS имеет (или, по крайней мере, имеет) возможность создавать виджеты, используя Python в качестве динамического языка сценариев на своей платформе. Довольно приятная особенность, чтобы иметь.

Вы должны пойти дальше и попробовать это. Всегда хорошо иметь больше инструментов в поясе:)

4
ответ дан 28 November 2019 в 04:34
поделиться

Вы используете его для написания кода Python, который работает на платформе .NET. Это хорошо для всего, для чего хорош Python.

Язык Python - это язык Python, несмотря ни на что. IronPython - это реализация среды выполнения для этого языка - код поддержки, который компилирует ваш источник, создает виртуальную машину для выполнения байт-кода в результирующем файле .pyc, связывается с ОС для помещения командной строки аргументы в sys.argv, и все эти другие забавные вещи. (Хорошо, хорошо, сама платформа .NET также выполняет большую часть работы. :))

2
ответ дан 28 November 2019 в 04:34
поделиться

Во-первых: IronPython на самом деле скорее компилятор, чем интерпретатор - он будет использоваться для генерации сборок .NET из ваших исходных файлов на python. Так что да, вы можете писать приложения и почти все, что может сделать .NET Framework.

Одним из самых больших преимуществ IronPython является то, что он (фактически) не имеет GIL - это означает, что если вы оба пишете код Python и он многопоточный - вы часто можете получить производительность, которая лучше чем CPython без необходимости порождать несколько процессов и перебирать объекты через границы. Это не решает проблему параллелизма, но .NET предоставляет гораздо более надежные конструкции для работы с ним. Честно говоря, я думаю, что это довольно ниша, но она, безусловно, есть.

Вики-страница python.org для IronPython также содержит список ключевых отличий:

2
ответ дан 28 November 2019 в 04:34
поделиться

Я думаю, что Resolver Systems создавали свои продукты с IronPython. Так что определенно есть реальное использование IronPython.

Также объявили , что они будут портировать NumPy на IronPython и .Net. Это, безусловно, расширит привлекательность IronPython.

1
ответ дан 28 November 2019 в 04:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: