python clr ironpython boo

BOO Vs IronPython



clr (4)

¿Cuál es la diferencia entre IronPython y BOO ? ¿Hay necesidad de 2 lenguajes similares a los de Python?


En pocas palabras, la afirmación de Boo a la fama es que se supone que te brinda la mayoría de los beneficios de la sintaxis concisa y elegante de Python y las abstracciones de muy alto nivel, pero sin sacrificar (la mayoría) de las ventajas de velocidad de un lenguaje de tipo estático como C # .


IronPython es Python. Boo se parece a Python.

Tienen objetivos diferentes y, aunque IronPython pretende ser como Python, Boo no. A Boo no le preocupa la compatibilidad con Python, como IronPython es ...


IronPython es una implementación de python, mientras que Boo es otro lenguaje con una sintaxis python-esque. Una diferencia importante es que Boo se escribe estáticamente de forma predeterminada.

Estoy seguro de que hay más diferencias, solo he mirado a Boo brevemente, pero he querido mirar un poco más a fondo (¡tantos idiomas en tan poco tiempo!).

Aquí hay una lista de Boo Gotchas para programadores de Python que resume muy bien las diferencias:


IronPython está diseñado para ser una implementación fiel de Python en la plataforma .NET. La versión 1 apunta a Python 2.4 por compatibilidad y la versión 2 apunta a la versión 2.5 (aunque la mayoría de los módulos de la biblioteca estándar de Python implementados en C no son compatibles).

El objetivo declarado de BOO es ser un lenguaje "dinámico [amigable] para la muñeca para el CLI". Se inspira mucho en Python, pero difiere en cuatro puntos principales:

  1. Está diseñado específicamente para aprovechar la plataforma .NET.
  2. El diseñador difiere de la sintaxis de Python en la que no está de acuerdo con las decisiones de diseño (en particular, la falta de un yo explícito)
  3. El lenguaje está diseñado explícitamente para que sea "fácil para las muñecas", es decir, para minimizar la necesidad de usar la tecla Mayús u otras combinaciones de teclas múltiples.
  4. Boo se escribe estáticamente de forma predeterminada, pero permite la escritura opcional de pato.

Existen algunas otras diferencias menores en la implementación / el rendimiento, pero los objetivos de diseño divergentes anteriores deben (IMO) informar su elección de idiomas.

Dos cosas más a tener en cuenta son la madurez y la comunidad. Python es mucho más maduro que Boo, y tiene una comunidad mucho más grande. IronPython también tiene la bendición explícita de Microsoft.