Вопрос

Я понимаю, что эта тема была каким-то образом была покрыта в Stackoverflow, но я все еще не могу выяснить точный ответ: Могу ли я лечить IronPython в качестве замены Pythonic в C #?

Я использую Cpython каждый день, я люблю Zen :) Но моя текущая задача - это приложение только для Windows со сложным графическим интерфейсом и некоторые другие функции, которые я хотел бы реализовать с помощью .NET.

Это было полезно?

Решение

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

Классы Ironpython не являются «реальными» классами .NET, а также Длр API необходимо использовать при вызове кода IronPython от традиционных языков на основе CLR; Это означает, что если вы хотите искренне простую совместимость, вы застряли надпись к «скрыть» DLR.

Бу Является гораздо более полным вспомогательным языком, ориентированным на CLR. Его (динамически подъемное) статическое набрав (которое можно заменить на вводе утки на основе переменных), также позволяет библиотекам, написанными в BOO, которые будут использоваться из C # и других языков, основанных на CLR, без необходимости делать какие-либо пособия для язык используется.

Другие советы

Это зависит от того, что оно о том, что вам нужно, и которые нуждаются в замене.

Если причина, по которой вы используете C #, это то, что вам нужен достаточно высокий производительность статически типизированного языка, то нет, IronPython, скорее всего, не будет заменой.

Если причина, по которой вы используете это просто «мне нужно что-то, что работает на .NET и может получить доступ к библиотекам .NET», затем да, Любые Язык, который работает на .NET, может использоваться для замены его.

Если вы используете C #, потому что вы работаете с командой программистов, которые знают только C-подобные языки, C # также может быть трудно заменить с IronPython.

Это зависит от того, какие характеристики о C # Это то, о чем вы заботитесь, и надо найти замены.

Одна вещь, чтобы рассмотреть - и я понятия не имею, насколько Ironpython ведет себя в этом отношении - это Подсистема общих языков (Cls) Соответствие для собраний. Соответствие CLS гарантирует, что любой язык .NET может получить доступ к скомпилированной DLL вашего кода. Это означает, например, в C #, вы не можете иметь ни одного публичного или защищенного метода или параметра, который является целым числом без знака. Я понятия не имею, насколько легко достичь CLS, совместимый код в Ironpython, Интересный вход в блоге что я нашел даты с 2008 года.

Вопрос «Могу ли я лечить IronPython в качестве замены Pythonic для C #?» Джальф был ответил довольно хорошо. Если бы вопрос был «Ironpython Pythonic .NET язык?» Хотя тогда ответ будет абсолютно быть да. Принципы дзен - особенно. Наименьшее удивление - абсолютно применяется к интеграции Ironpython с CLR.

Я думаю, что если бы вы делаете это, было бы легче в .NET 4.0.

Я думаю, что вы можете использовать недавно выпущенный IronPython 2.6.1 для .NET 4.0,

Это уже легко использовать C # в Ironpython.

Как вы видете здесь, Вы можете легко сделать это другим путем (с помощью IronPython от C #) с .NET 4.0.

Я думаю, что это возможно, но я согласен, будет более безопасный способ пойти.

«Комплекс» UI обычно влечет за собой не «написание», но построение его в Visual Studio с точкой и нажмите. Все обратные вызовы и код события вставляются сам по себе. На стороне Python почти ничего нет. Я бы сказал, пойти на C # прямо.

Хотя есть одна нинговая вещь. Если вы истинные Pythonista, статическая набравка будет очень быстро добраться до вас, и вы захотите начать бросать тяжелые предметы на случайных людях.

Если этот момент, подумайте о создании пользовательского интерфейса с C # и встраиваем IronPython в качестве сценариев для реализации вашей бизнес-логики. Это может быть терпимым средним землей.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top