Плюсы и минусы IronPython и установить IronPython студии

мы готовы в нашей компании переместить все на Python вместо C#, мы консалтинговая компания, и мы обычно пишем небольшие проекты на C# мы не делаем огромные проекты, и наша работа больше основана на сложных математических моделях, а не сложных программных структурах. Поэтому мы считаем, что IronPython-хорошая платформа для нас, потому что она обеспечивает стандартную функциональность GUI в windows и доступ ко всем библиотекам .Net.

Я знаю, что IronPython studio не завершена, и на самом деле у меня был мне было интересно, может ли кто-нибудь перечислить некоторые из плюсов и минусов этой миграции для нас, учитывая, что код Python легче читать нашими клиентами, и мы обычно поставляем прототип доказательства концепции вместо полнофункционального кода, наши клиенты обычно идут вперед и реализуют приложение сами

3 ответов


моя компания, Resolver Systems, разрабатывает, вероятно, самое большое приложение, написанное в IronPython. (Это называется Сельсин один, и это обновления таблицы). Мы также размещаем проект Ironclad (для запуска расширений CPython под IronPython), и это идет хорошо (мы планируем выпустить бета-версию Resolver One & numpy в ближайшее время).

причиной, по которой мы выбрали IronPython, была интеграция .NET - наши клиенты хотят 100% - ную интеграцию в Windows и самый простой способ сделать это прямо сейчас .Сеть.

мы разрабатываем наш GUI (без поведения) в Visual Studio, компилируем его в DLL и подкласс из IronPython, чтобы добавить поведение.

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

Если у вас есть опыт работы с C#, то IronPython будет естественным для вас и проще, чем C#, особенно для прототипов.

Что касается IronPython studio, мы не используем его. У каждого из нас есть свой редактор выбора (TextPad, Emacs, Vim & Wing), и все работает нормально.


есть много причин, почему вы хотите переключиться с C# на python, я сделал это сам недавно. После многих исследований, вот причины, почему я придерживаюсь CPython:

  • производительность: есть некоторые статьи, в которых говорится, что всегда есть случаи, когда ironpython медленнее, поэтому, если производительность является проблемой
  • взять оригинал: многие люди утверждают, что новые функции и т. д. всегда интегрированы в CPython во-первых, и вы должны ждать, пока они реализуются в установить IronPython.
  • лицензирование: некоторые люди утверждают, что это временная бомба: никто не знает, как лицензирование ironpython/mono может измениться в ближайшем будущем
  • Extensions: одной из сильных сторон python являются тысячи расширений, которые могут использоваться CPython, как вы упомянули математические проблемы: numpy может быть подходящим быстрым пакетом для вас, который может работать не так, как ожидалось под IronPython (хотя Железный)
  • особенно под Windows у вас есть собственный GUI-toolkit с wxPython, который также отлично выглядит под несколькими другими платформами, и есть pyQT и много других наборов инструментов. У них есть хороший дизайнер, такой как wxGlade, но здесь VisualStudio C# Designer проще в использовании.
  • независимость платформы( если это проблема): CPython портирован на действительно много платформ, в то время как ironpython может использоваться только на основных платформах (недавно прочитал, что разработчику было грустно, что он не мог заставить mono работать под его AIX)

Ironpython-отличная работа, и если бы у меня была специальная библиотека .NET, которую мне пришлось бы использовать, IronPython мог бы быть выбором, но для проблем общего назначения люди, похоже, предлагают использовать оригинальный CPython, если Гвидо не передумает.


то, как вы описываете вещи, похоже, что Вы компания переключается на Python simple ради Python. Есть ли какая-то конкретная причина, по которой вы хотите использовать Python? Необходим ли более динамичный язык? Поможет ли вам функциональное программирование? Если у вас есть отличный рабочий набор инструментов в C#, зачем беспокоиться о переключении?

Если вы настроены на переключение, вы можете рассмотреть возможность начать со стандартного Python, если вы специально не привязаны к .сетевая библиотека. Вы можете писать кросс-платформенные GUIs, используя ряд различных фреймворков, таких как wxPython, pyQt и т. д. Тем не менее, Visual Studio имеет гораздо лучший дизайнер GUI для любого из инструментов для создания оконных макетов Python.