Ho insegnato programmazione per diversi anni, quindi posso condividere la mia esperienza con te. Presumo che C # sia la tua prima lingua, quindi la mia esperienza di insegnamento della programmazione a persone che non avevano mai programmato prima potrebbe essere utile.
Prima di tutto, lascia che ti dica che imparare più di una lingua è qualcosa che ogni programmatore esperto dovrebbe fare. Ma questo non significa che dovresti imparare più lingue contemporaneamente se stai iniziando.
Nel corso degli anni, gli studenti hanno dimostrato che ci vuole circa un anno perché una lingua si solidifichi nella mente (almeno la prima), a volte un po 'di più, a volte un po' meno. Se cerchi di insegnare a più di una lingua in un anno, gli studenti tendono a mescolarli e confondere concetti e linguaggi. Anche se gli studenti fanno progressi, entrano in molte cattive abitudini che è difficile estirpare in seguito. Se stai imparando da solo, questo rischio è più alto.
Tuttavia, ho notato che è d'aiuto se si insegnano due lingue con una sintassi molto diversa. Quando due linguaggi di programmazione sembrano molto diversi, aiuta la mente a vederli come entità veramente diverse senza inquinarsi a vicenda. (Quando un linguaggio di programmazione ti aiuta a capire concetti difficili in un'altra lingua, questo è positivo, quando una lingua ti fa scrivere codice cattivo in un'altra lingua, è male).
Pertanto, la mia raccomandazione sarebbe quella di attenersi a un linguaggio di programmazione per il primo anno. In alternativa, può essere una buona idea imparare due lingue contemporaneamente purché siano / sembrano molto diverse. Se la tua lingua madre è C #, starei certo lontano da C, C ++, Objective C e Java; e probabilmente Python, Ruby e Javascript. Raccomanderei di combinare C # con un linguaggio funzionale come Haskell, Scheme, F #, Erlang, Clojure o forse Scala.