C# 4.0 verso i linguaggi dinamici
A PDC 2008 ci sono molti annunci, da Windows Azure a Oslo, di cui varrà la pena parlare in modo più approfondito dopo aver provato un po' le varie CTP rilasciate oggi.
Vale però la pena dare un'occhiata ad annunci che in questo momento possono sembrare minori ma che avranno un impatto (positivo) nei programmi "attuali". Uno di questo è C# 4.0, di cui da oggi è possibile conoscere funzionalità in dettaglio.
Personalmente sono colpito positivamente dalla keyword dynamic che, per il modo in cui è introdotta nella sintassi del linguaggio, non ha effetti collaterali particolari (almeno, per il momento non me ne vengono in mente). L'effetto pratico sarà una semplificazione della sintassi di C# necessaria a interoperare con classi COM, grazie anche agli argomenti opzionali e nominativi sulle chiamate a metodi.
A prima vista si può paragonare dynamic al VARIANT di VB. In realtà l'implementazione in .NET è fatta usando System.Object, con un attributo che ne definisce il tipo di utilizzo (dinamico, appunto). Il tutto fa uso del Dynamic Language Runtime e garantisce l'interoperabilità con altri linguaggi di scripting, compreso JavaScript (particolarmente importante nelle applicazioni Silverlight).