que example ironpython boo

example - ironpython virus



Boo vs. IronPython (7)

La principal diferencia, en mi opinión, es que IronPython es una implementación de un lenguaje maduro, mientras que Boo es más joven y menos conocido.

Después de haber examinado cada uno de estos dos proyectos, parece que ambos son MUY similares. Ambos se ejecutan en la parte superior de la CLI, ambos tienen sintaxis de estilo python, ambos usan .NET en lugar de las bibliotecas de python estándar.

Entonces, ¿cuáles son las diferencias entre ellos y las ventajas de cada uno?


Estoy de acuerdo con VolkA aquí. Poder ejecutar Django es grande. Es un marco tan increíble, que a Boo le costará mucho rehacerlo. Hoy es más una cuestión de los marcos que proporciona un lenguaje, que la construcción que proporciona. Y Boo no proporciona muchas mejoras sobre Python en los constructos que admite.


Boo está tipado estáticamente, pero tiene tipado de pato opcional (que funciona bastante bien, según mi experiencia). Boo también está específicamente diseñado para ser "amigable para las muñecas", en otras palabras, para minimizar la necesidad de usar combinaciones de teclas Shift. Tiene un buen soporte IDE en SharpDevelop .

Como es bastante evidente, Boo toma mucha inspiración de Python, pero también está diseñado para aprovechar las características de .NET.

En cuanto al rendimiento, Boo se siente marginalmente más rápido que IronPython y, en particular, carece del notable retraso de inicio de IronPython.

Boo sigue siendo un lenguaje inmaduro y le falta la comunidad de Python. Personalmente sería un poco cauteloso sobre su uso en producción. Además, no estoy de acuerdo con todas las desviaciones que se hacen desde Python, como deshacerse de sí mismo explícito en las clases.


He escrito aplicaciones tanto en Boo como en IronPython. Para mí, IronPython ha sido la opción más robusta y mucho de lo que he escrito en los puertos de CPython sin cambios. Todos los proyectos recientes han sido IronPython puro si se apunta para .Net Framework.

Desde que Jim "desertó" a Microsoft, IronPython se ha elevado a un lenguaje de nivel superior. Incluso hay Visual Studio para eso.


Todavía no he usado IronPython, pero esto es lo que sé sobre Boo ...

  • Boo se inspiró en Python y tiene muchas similitudes sintácticas. Para conocer las diferencias, consulte http://boo.codehaus.org/Gotchas+for+Python+Users
  • Boo fue escrito específicamente para el CLR
  • Está tipado estáticamente, lo que tiene varios beneficios
    • Se puede compilar en una DLL y hacer referencia a los proyectos de VB y C #
    • obtienes la finalización del código en IDEs
  • El lenguaje en sí es extensible. Puede escribir "macros sintácticos" y agregar nuevos elementos al lenguaje. Esto lo convierte en un buen candidato para escribir DSL.
  • Aún no está en 1.0, mientras que IronPython sí lo está. El idioma todavía está pasando por dolores de crecimiento, pero todavía es muy útil.

He usado Boo para cosas como:

  • Creación de scripts de trabajos programados. Es una gran alternativa a VBScript, archivos BAT, especialmente si se accede a API .NET. Desde entonces, he cambiado principalmente a Powershell, pero es específico de sistema operativo y tiene una sintaxis más pesada, así que todavía uso Boo para algunas cosas.
  • Pruebas de unidad de escritura
  • Lenguaje de scripting incorporado


La principal diferencia que veo es que Boo está tipado estáticamente, lo que significa que el tipo de una variable se deduce en su primera asignación y se fija desde allí, mientras que IronPython tiene el comportamiento dinámico "real" del código Python normal.

IronPython es oficialmente mantenido por Microsoft ahora y se dirige al nuevo Dynamic Language Runtime en la versión 2.0. Sospecho que debido a su naturaleza estáticamente tipificada, Boo podría ser más rápido. Aunque no tengo mucha experiencia "real" con eso ...

IronPython también reimplementa gran parte de la biblioteca estándar de Python para que pueda ejecutar muchos programas de Python sin cambios en IronPython (por ejemplo, Django ).