Alcune impressioni a caldo dopo avere installato la CTP...
Innanzitutto è più instabile della Alpha, mettendo un controllo non visibile in una Windows Form appare una bruttissima banda Magenta (però so che è già stato sistemato)
Alcune cose sono carine, altre (personalmente) meno.
Ecco un elenco velocissimo (frutto di qualche smanettamento per circa 10 minuti)
1-VB e C# sono parecchio diversi.. :-(
2-Anche in VB si possono definire gli eventi come in C# (entrambi i modi disponibili)
3-VB si è molto VB6'izzato, alcune cose sono state spostate (tipo le references)
4-La finestra dei riferimenti è resizable!
5-C# ha un intellisense moolto migliorato (le expansions sono bellissime)
6-In C# anche le keywords appaiono nell'intellisense (in VB no)
7-La main di C# si trova in un file Entrypoint.cs e non più in Form1.cs
8-La main di VB si deve trovare in Form1 (come adesso in C#!)
9-Anche VB ha i pre e post build events
10-La generazione di uno strong name si può fare direttamente dall'IDE
11-In VB è possibile settare il livello di errore per
variabili inutilizzare, null referenze, path che non ritornano valore,Import inutilizzati,accesso a variabili statiche da istanze...
12-L'aggiunta di risorse (testo, file audio,immagini...) è notevolmente migliorata e semplificata in VB, in C# nulla è cambiato
13-La gestione di custom settings è presente solo in VB (da approfondire...)
14-In C# c'è l'highlighting delle {}, veramente utile per quelli come me che si perdevano qualche { o } in giro per il codice...
15-Sia in VB che C# c'è la Error List che contiene tutti gli errori di build.
16-Sotto alcuni aspetti l'intellisense di C# è addirittura migliore di quello di VB anche se quelli come me che di linee in VB ne hanno scritte parecchie soffrono ancora alcuni dettagli legati alla mancanza del background compiler tipo la non gestione degli enum...
17-Tra le piattaforme di output sono apparse, oltre a X86, X64 e Itanum.
18-Sia in VB che in C# è possibile compilare senza salvare la soluzione (basta WindowsApplication 476 sull'hard disk...)
19-Gli eventi Close e Closing si chiamano FormClose e FormClosing e quest'ultimo ha un parametro CloseReason che permette di capire per quale motivo il form si sta per chiudere (tipo VB6).
20-Facendo l'override di un qualsiasi metodo di una base class l'IDE mette una NotImplementedException by default (in C#)
Che dire..., un Whidbey molto colorato (forse troppo) mi attendo che "fiumi di blog" inonderanno la rete a proposito di questa build intermedia.