Ho insegnato programmazione per diversi anni, quindi posso condividere la mia esperienza con te. Suppongo 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 diverse lingue contemporaneamente se hai appena iniziato.
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 provi a insegnare più di una lingua in un anno, gli studenti tendono a confonderle e confondere concetti e lingue. Sebbene gli studenti facciano progressi, prendono molte cattive abitudini che è difficile eliminare in seguito. Se stai imparando da solo, questo rischio è più alto.
Tuttavia, ho notato che aiuta a insegnare due lingue con una sintassi molto diversa. Quando due linguaggi di programmazione sembrano davvero diversi, aiuta la mente a vederli come entità veramente diverse senza inquinarsi a vicenda. (Quando un linguaggio di programmazione ti aiuta a comprendere concetti difficili in un'altra lingua, va bene; quando una lingua ti fa scrivere un codice cattivo in un'altra lingua, è un male).
Pertanto, la mia raccomandazione sarebbe di attenersi a un linguaggio di programmazione per il tuo primo anno. In alternativa, può essere una buona idea imparare due lingue contemporaneamente purché siano / abbiano un aspetto molto diverso. Se la tua prima lingua è C #, starei sicuramente lontano da C, C ++, Objective C e Java; e probabilmente Python, Ruby e Javascript. Consiglierei di combinare C # con un linguaggio funzionale come Haskell, Scheme, F #, Erlang, Clojure o forse Scala.