Salve a tutti!

Vorrei iniziare (anzi, il mio capo dice che "devo" ) ad imparare .NEt
Premetto che attualmente programmo da ormai 5 anni con php e ho programmato per 2 con asp.

Vorrei sapere:

1) Da dove iniziare a "capire" come funziona .net
2) Che programmi usare)
3) Che linguaggi usare e le differenze fra i vari

Ho sentito inotre che con .net si possono creare non solo web soluzioni web ma anche applicazioni in locale...

Insomma, in una parola sola : da dove inizio?