Come ben sapete mesi fa Jim Hugunin ha rilasciato alle masse il suo "toy project" per mettere le basi a quello che in futuro potrebbe diventare l'ennesimo porting di Python su una nuova piattaforma (in questo caso .NET). Hugunin è piuttosto famoso nella comunità Java per aver progettato AspectJ un tool per l'AOP in Java ma soprattutto per aver dato inizio al progetto Jython, un porting di Python su piattaforma Java. Vi risparmio i pregressi della novella IronPython perchè sono abbastanza futili ai fini del post (l'erronea convinzione che su .NET un linguaggio dinamico non potesse girarci, la sua personale sfida blah blah). Ho intenzione però di parlarvi del suo stato attuale perchè sono un felice utilizzatore di CPython (la versione standard e scritta in C + Python, faccio notare Python che gira su praticamente tutti gli Unix che vi vengono in mente, i Windows, i MacOS, Amiga, PocketPC, Symbian, Java, .NET, si "attacca" facilmente a C, C++, Fortran, Lisp, Smalltalk e altro ancora). Inoltre seguo la mailing list di IronPython dagli albori.
IronPython è un progetto per ora abbastanza contenuto, scritto in C#, che implementa una parte del linguaggio Python attuale (diciamo che per ora è più simile alla 1.5 che alla 2.3 corrente). Gira su .NET e su Mono. La comunità sembra aver recepito abbastanza bene il progetto (parecchi sviluppatori di Mono e non pochi pythonisti di fama seguono attivamente la lista). Inoltre come ben sapete il lavoro e la ricerca di Hugunin gli hanno fruttato un posto di lavoro in Microsoft appunto per poter lavorare in tutta tranquillità al supporto ai linguaggi dinamici e (spero) a IronPython a tempo pieno.
Hugunin però in questo post ha chiesto agli entusiasti della lista (che ovviamente premono per poter creare documentazione/mandare patch/aggiungere feature) di essere pazienti perchè, giustamente, il nuovo lavoro e i nuovi impegni lo occupano un pò. Quindi per ora IronPython è praticamente fermo.
Tornando alla lista di discussione: ho notato che la maggior parte dei post negli ultimi tempi sono di (con sacrosanti problemi) newbie che non hanno idea di come funzioni Python, quindi suggerisco che se a qualcuno interessa "giocare" con IronPython è meglio che perlomeno arrivino in fondo al Python Tutorial prima di iniziare a fare esperimenti :-)
Concludo con un paio di considerazioni pratiche sulla implementazione .NET. Nella mailing list (e nella Python blogosfera) è stato sollevato il problema della compatibilità con Python (si sa che non saranno perfettamente uguali, nemmeno Jython lo è ma essendo un vantaggio per i Pythonisti e non è giusto sollevare la questione). So che Hugunin lavora a stretto contatto con Guido Van Rossum, il "tizio" che nel 1991 ha creato Python, quindi ne deduco che le incompatibilità verranno minimizzate (una delle questioni principali è quella dei vari oggetti Python in relazione ai tipi di dato e ai metodi dei corrispondenti tipi di dato in .NET)
Che dire... per ora non mi viene in mente più niente ma non mancherò di postare se avrò delle news in merito :)