He estado enseñando programación durante varios años, así que puedo compartir mi experiencia con ustedes. Supongo que C # es su primer idioma, así que mi experiencia enseñando programación a personas que nunca antes habían programado puede ser útil.
Antes que nada, déjame decirte que aprender más de un idioma es algo que todo programador experimentado debería hacer. Pero esto no significa que deba aprender varios idiomas al mismo tiempo si recién está comenzando.
A lo largo de los años, los estudiantes han demostrado que el lenguaje tarda aproximadamente un año en solidificarse en la mente (al menos el primero), a veces un poco más, a veces un poco menos. Si intenta enseñar más de un idioma en un año, los estudiantes tienden a mezclarlos y confundir conceptos e idiomas. Aunque los estudiantes progresan, adquieren muchos malos hábitos que es difícil eliminar más adelante. Si está aprendiendo solo, este riesgo es mayor.
Sin embargo, he notado que ayuda si enseña dos idiomas con una sintaxis muy diferente. Cuando dos lenguajes de programación se ven realmente diferentes, ayuda a la mente verlos como entidades realmente diferentes sin contaminarse entre sí. (Cuando un lenguaje de programación te ayuda a entender conceptos difíciles en otro idioma, eso es bueno; cuando un idioma te hace escribir código malo en otro idioma, eso es malo).
Por lo tanto, mi recomendación sería apegarse a un lenguaje de programación para su primer año. Alternativamente, puede ser una buena idea aprender dos idiomas al mismo tiempo, siempre y cuando sean / se vean muy diferentes. Si su primer idioma es C #, me mantendría alejado de C, C ++, Objective C y Java con seguridad; y probablemente Python, Ruby y Javascript. Recomendaría combinar C # con un lenguaje funcional como Haskell, Scheme, F #, Erlang, Clojure o quizás Scala.