J'enseigne la programmation depuis plusieurs années afin de pouvoir partager mon expérience avec vous. Je suppose que le C # est votre langue maternelle, mon expérience dans l’enseignement de la programmation à des personnes qui n’avaient jamais programmée peut être utile.
Tout d’abord, laissez-moi vous dire que l’apprentissage de plusieurs langues est quelque chose que tout programmeur chevronné devrait faire. Mais cela ne signifie pas que vous devez apprendre plusieurs langues en même temps si vous commencez tout juste.
Au fil des ans, les élèves ont montré qu’il fallait environ un an pour qu'une langue se solidifie dans l’esprit (du moins la première), parfois un peu plus, parfois un peu moins. Si vous essayez d'enseigner plus d'une langue en un an, les étudiants ont tendance à les mélanger et à confondre concepts et langues. Bien que les élèves progressent, ils adoptent de nombreuses mauvaises habitudes qu'il est difficile d'éliminer plus tard. Si vous apprenez par vous-même, ce risque est plus élevé.
Cependant, j'ai remarqué qu'il est utile d'enseigner deux langues avec une syntaxe très différente. Lorsque deux langages de programmation sont vraiment différents, cela aide l’esprit à les voir comme des entités vraiment différentes sans se polluer. (Lorsqu'un langage de programmation vous aide à comprendre des concepts difficiles dans une autre langue, c'est bon; quand une langue vous oblige à écrire du code incorrect dans une autre langue, c'est mauvais).
Par conséquent, ma recommandation serait de s'en tenir à un langage de programmation pour votre première année. Alternativement, il peut être judicieux d'apprendre deux langues en même temps, à condition qu'elles soient / soient très différentes. Si votre première langue est le C #, je resterais certainement à l’écart de C, C ++, Objective C et Java; et probablement Python, Ruby et Javascript. Je recommanderais de combiner C # avec un langage fonctionnel comme Haskell, Scheme, F #, Erlang, Clojure ou peut-être Scala.