visual studio example python ironpython ironpython-studio

example - ironpython visual studio



Pros y contras de IronPython y IronPython Studio (3)

Hay muchas razones por las que quiere cambiar de C # a python, lo hice recientemente. Después de investigar mucho, aquí están las razones por las que me apego a CPython:

  • Rendimiento: hay algunos artículos que indican que siempre hay casos en que ironpython es más lento, por lo que si el rendimiento es un problema
  • Tome el original: muchas personas argumentan que las características nuevas, etc. siempre están integradas primero en CPython y que debe esperar hasta que se implementen en ironpython.
  • Licencias: Algunas personas argumentan que se trata de una bomba de tiempo: nadie sabe cómo podría cambiar la licencia de ironpython / mono en un futuro cercano.
  • Extensiones: una de las fortalezas de python son las miles de extensiones que todos son utilizables por CPython, como usted mencionó problemas matemáticos: numpy podría ser un paquete rápido adecuado para usted que podría no funcionar como se espera bajo IronPython (aunque es Ironclad )
  • Especialmente en Windows tiene un GUI-toolkit nativo con wxPython que también se ve muy bien en muchas otras plataformas y hay pyQT y muchos otros kits de herramientas. Tienen un buen diseñador como wxGlade, pero aquí VisualStudio C # Designer es más fácil de usar.
  • Independencia de la plataforma (si esto es un problema): CPython se transporta a muchas plataformas, mientras que ironpython solo se puede usar en las principales plataformas (recientemente un desarrollador se entristeció porque no podía ejecutar mono bajo su AIX)

Ironpython es un gran trabajo, y si tuviese que usar una biblioteca .NET especial, IronPython podría ser la opción, pero para problemas de propósito general, la gente parece sugerir usar el CPython original, a menos que Guido cambie de opinión.

Estamos listos en nuestra empresa para mover todo a Python en lugar de C #, somos una empresa de consultoría y generalmente escribimos pequeños proyectos en C #, no hacemos grandes proyectos y nuestro trabajo se basa más en modelos matemáticos complejos que complejos. Por lo tanto, creemos que IronPython es una buena plataforma para nosotros, ya que proporciona funcionalidad de GUI estándar en Windows y acceso a todas las bibliotecas de .Net.

Sé que el estudio de Ironpython no está completo, y de hecho tuve dificultades para agregar mis referencias, pero me preguntaba si alguien podría enumerar algunos de los pros y los contras de esta migración, ya que el código de Python es más fácil de leer para nuestros clientes y por lo general, ofrecemos un prototipo de prueba de concepto en lugar de un código de funcionalidad completa; nuestros clientes suelen implementar la aplicación por sí mismos.


Mi empresa, Resolver Systems, desarrolla la que probablemente sea la aplicación más grande escrita en IronPython hasta el momento. (Se llama Resolver One, y es una hoja de cálculo Pythonic). También estamos alojando el proyecto Ironclad (para ejecutar extensiones CPython bajo IronPython) y eso va bien (planeamos lanzar una versión beta de Resolver One & numpy pronto).

La razón por la que elegimos IronPython fue la integración de .NET: nuestros clientes quieren una integración del 100% en Windows y la forma más fácil de hacerlo ahora es .NET.

Diseñamos nuestra GUI (sin comportamiento) en Visual Studio, la compilamos en una DLL y la subclasemos desde IronPython para agregar un comportamiento.

Hemos encontrado que IronPython es más rápido en algunos casos y más lento en algunos otros. Sin embargo, el equipo de IronPython es muy receptivo, cada vez que informamos una regresión lo arreglan y generalmente lo respaldan en la versión de corrección de errores. Si te preocupa el rendimiento, siempre puedes implementar una parte crítica en C # (no hemos tenido que hacer eso todavía).

Si tiene experiencia con C #, entonces IronPython será natural para usted y más fácil que C #, especialmente para prototipos.

En cuanto al estudio de IronPython, no lo usamos. Cada uno de nosotros tiene su editor de elección (TextPad, Emacs, Vim & Wing), y todo funciona bien.


La forma en que describes las cosas, parece que tu empresa está cambiando a Python por el simple hecho de Python. ¿Hay alguna razón específica por la que quieras usar Python? ¿Es necesario un lenguaje más dinámico? ¿Te va a ayudar la programación funcional? Si tienes un conjunto de herramientas perfectamente buenas en C #, ¿por qué molestarse en cambiar?

Si está configurado para el cambio, le conviene considerar comenzar con Python estándar a menos que esté específicamente vinculado a las bibliotecas .NET. Puede escribir GUI multiplataforma usando varios marcos de trabajo diferentes, como wxPython, pyQt, etc. Dicho esto, Visual Studio tiene un diseñador de GUI muy superior a casi todas las herramientas disponibles para crear diseños en ventana de Python.