Non deve sorprendere di vedere Miguel de Icaza a PDC dove per tradizione sono presenti solo speaker Microsoft. Si parla ovviamente di Mono 2.0 che è stato rilasciato da poco.
Si comincia a parlare dell'implementazione del compilatore C# 3.0 che inizialmente era di 10'000 linee di codice. Quello che la vecchia versione compilava in 17 secondi oggi compila in 2,2 secondi (82'000 righe di codice) mentre csc di Microsoft compila in 1 secondo.
Miguel poi mostra la demo di "compiler as a service" mostrando Evaluator.Evaluate che compila al volo. Per la demo parte dagli stessi esempi mostrati da Hejlsberg per poi mostrare effetti speciali notevoli. Per esempio la console interattiva in cui eseguire codice valutato a runtime, può fare l'attach di processi esterni e iniettare l'esecuzione del codice in quel processo.
Poi si parla del linker di Mono che permette di creare un sottoinsieme delle librerie di Mono in modo da creare una distribuzione minima. Ovviamente questo scenario è perfetto per l'installazione su portable/embedded devices.
Un altro argomento interessante è l'uso di Mono nel mondo dei videogame. Ovviamente si parla della porzione di scripting dei giochi che realizza in pratica l'evolvere della storia del videogame. Mono è già presente in diversi giochi (online o classici): Second Life e un noto tool di creazione di videogame: Unity3D.
In una importante parte della presentazione si parla delle ottimizzazioni al jitter che permettono l'uso delle istruzioni SSE (SIMD nell'esempio) mostrano un guadagno netto e impressionante persino rispetto ad un tradizionale listato C++. Chi mi conosce sa bene che dico spesso che i linguaggi managed su questo tipo di algoritmo possono certamente essere più performanti di C++ con uno sforzo infinitamente inferiore.
Infine nella Q&A viene annunciato che il DLR verrà incorportato in Mono grazie ad un agreement con Microsoft.
Per i curiosi c'è una conferma della notizia che avevo già detto l'anno scorso dopo aver parlato con Miguel: niente WPF e il motivo è che ci vorrebbe troppo tempo che invece può essere speso per migliorare altri aspetti considerati più importanti. Resta il fatto che se Microsoft decidesse di passare la codebase a Mono ovviamente il gioco sarebbe fatto in pochissimo tempo... chissà.
Ad ogni modo Moonlight (versione Mono di Silverlight) c'è e funziona.