posts - 644, comments - 2003, trackbacks - 137

My Links

News

Raffaele Rialdi website

Su questo sito si trovano i miei articoli, esempi, snippet, tools, etc.

Archives

Post Categories

Image Galleries

Blogs

Links

C# 4.0 ... e oltre

Hejlsberg presenta le novità in C# nella stessa sala dove nel 2005 abbiamo ascoltato Linq e le altre novità di C# 3.0.

Sessione spettacolare e molto bella. Le funzionalità sono diverse, ovviamente rivoluzionarie di Linq che ha segnato una rivoluzione, ma certamente estremamente interessanti e potenti.

IMG_0575IMG_0600

Come tutti sanno io non sono un estinamtore dei linguaggi dinamici e anche Hejlsberg spara qualche battuta a tal proposito. È però indubbio che determinate funzionalità dei linguaggi dinamici evitano vere e proprie brutture di codice che alcune volte rendono estremamente difficile la sua redazione e manutenzione. La slides a destra è esplicativa sull'uso pratico di questa nuova feature.

IMG_0580IMG_0581IMG_0582

Quante volte abbiamo cercato di eseguire un cast di, per esempio, IEnumerable<string> in IEnumerable<object> non trovando alcun modo 'pulito' per aggirare l'ostacolo. Bene, Hejlsberg parla di varianza e covarianza spiegando come in sostanza la novità consiste nel riuscire a fare ciò per cui avremmo sempre pensato che si dovesse poter fare.

IMG_0591IMG_0592

E infine "Compiler as a service" è probabilmente la feature che mi ha attirato di più. La possibilità di compilare codice al volo e con una semplicità estrema. Con le poche righe di esempio mostrate alla fine si potrebbe costruire una versione di PowerShell super potente. Veramente semplice da usare e se penso a quello che ci aspetta domani con i DSL di Oslo, la combinazione delle due cose è realmente fantastica.

IMG_0593IMG_0594 

Non è ancora chiaro se le funzionalità di "compiler as a service" saranno disponibili da subito con C# 4.0 o aggiunte in un timeframe immediatamente successivo.

Print | posted on martedì 28 ottobre 2008 04:31 |

Comments have been closed on this topic.

Powered by:
Powered By Subtext Powered By ASP.NET