La sessione di Scott Currie, PM di VC++, presenta il nuovo modo di scrivere codice managed con C++. La sintassi a a cui eravamo abituati è stata rivoluzionata e semplificata. Il vecchio managed C++ è solo un ricordo.
Viene introdotta una nuova sintassi che prevede di usare una nuova categoria di puntatori (che usano il simbolo ^) che sono verificabili dal compilatore C++. Altre parole chiave suona strane ma semplifica non poco la leggibilità del vecchio conodice managed: non ho visto neanche un __gc :-)
La gestione di assembly misti con codice nativo e managed è oggetto della parte centrale della sessione. I problemi già noti di mixare codice managed/unmanaged che vengono a galla quando sono richieste le routine di inizializzazione del CRT vengono risolte con l'attibuto DllImport e l'uso di PInvoke. Di default infatti il compilatore C++ implementa l'interoperabilità con IJW (It Just Works) di cui vengono mostrati alcuni esempi.
Il bello è che si può mixare codice nativo anche scritto in assembler (_asm) per mantenere quelle ottimizzazioni fortemente dipendenti dalla CPU. Può suonare antiquato ma esistono là fuori molte applicazioni ottimizzate che non si possono buttare via e con Whidbey abbiamo modo di portare il codice più 'noioso' verso il mondo managed, con tutti i vantaggi che tutti conosciamo.
Perchè tutto questo? La migrazione graduale a WinFX naturalmente. Il target è quello di arrivare piano piano al solo codice managed per tutti i vantaggi che ne derivano e C++ non può certo rimanere isolato nel mondo unmanaged.
Lo ripeterò tutti i giorni: rimbocchiamoci le maniche, c'è molto da studiare.