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:
- Está diseñado específicamente para aprovechar la plataforma .NET.
- 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)
- 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.
- 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.