Lascia perdere il .net per il momento, fai un passo alla volta. Ci vogliono anni di esperienza per diventare un buon programmatore e qualcosina in più per il "completo". Il fatto è che non basta saper scrivere codice, alla fine quella non è altro che una traduzione. La cosa più importante è avere una mentalità da programmatore che svilupperai meglio solo col tempo, i libri possono introdurti i vari linguaggi, in sostanza fan quello, ma sta alla tua mente trovare il modo migliore per risolvere i problemi (perchè programmare vuol dire far risolvere il problemi a qualcun altro, come il pc). Ti consiglio di iniziare dal C perchè lo ritengo una buona base per capire come funziona questo mondo e ti da un'infarinatura buona per tutti gli altri linguaggi. Sappi comunque che ogni linguaggio è stato inventato per uno scopo, alcuni possono risolvere lo stesso tipo di problemi ma se ci sono un motivo ci sarà.