Domanda

Qual è la differenza tra IronPython e BOO ? C'è bisogno di 2 lingue simili a Python?

È stato utile?

Soluzione

IronPython è progettato per essere un'implementazione fedele di Python sul Piattaforma .NET. La versione 1 si rivolge a Python 2.4 per compatibilità, e la versione 2 si rivolge alla versione 2.5 (anche se la maggior parte dei moduli di libreria standard Python implementati in C non sono supportati).

Lo scopo dichiarato di

?? Boo è quello di essere un linguaggio [dinamico] adatto al polso per la CLI . " Prende molta ispirazione da Python, ma diverge su quattro punti principali:

  1. È progettato specificamente per sfruttare al meglio la piattaforma .NET
  2. Il designer si discosta dalla sintassi di Python dove non è d'accordo con le decisioni di progettazione (in particolare, la mancanza di un sé esplicito)
  3. La lingua è esplicitamente progettata per essere "adatta al polso" - cioè per ridurre al minimo la necessità di utilizzare il tasto Maiusc o altre combinazioni di più tasti.
  4. Boo è tipizzato staticamente per impostazione predefinita, ma consente la tipizzazione anatra opzionale.

Vi sono alcune differenze minori nell'implementazione / prestazioni, ma gli obiettivi di progettazione divergenti di cui sopra dovrebbero (IMO) informare la scelta delle lingue.

Altre due cose da tenere in considerazione sono la maturità e la comunità. Python è molto più maturo di Boo e ha una comunità molto più ampia. IronPython ha anche la benedizione esplicita di Microsoft.

Altri suggerimenti

IronPython è un'implementazione di Python in cui Boo è un'altra lingua con una sintassi simile a Python. Una delle principali differenze è che Boo è tipizzato staticamente per impostazione predefinita.

Sono sicuro che ci sono più differenze, ho guardato Boo solo brevemente, ma intendevo guardare un po 'più a fondo (così tante lingue così poco tempo!).

Ecco un elenco di Boo gotcha per programmatori python che riassume abbastanza bene le differenze:

IronPython è Python. Boo sembra Python.

Hanno obiettivi diversi e mentre IronPython mira ad essere proprio come Python, Boo no. Boo non è preoccupato per la compatibilità con Python come IronPython è ...

In poche parole, l'affermazione di Boo sulla fama è che dovrebbe darti la maggior parte dei vantaggi dell'elegante sintassi concisa di Python e delle astrazioni di altissimo livello, ma senza sacrificare (la maggior parte) dei vantaggi di velocità di una tipizzazione statica linguaggio come C #.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top