Sólo vengo a echar más leña al fuego: C# se habrá inspirado en lo que sea, pero es gemelo de Java, y primo lejano de C++.
Basta con ver, desde el punto de vista del programador, lo diferente que es la transición de Java -> C# (que al principio prácticamente te basta con cambiar las palabras reservadas de Java por las de C#) y la de C++ -> C# (que se parece más a C++ -> Java). No tengo el conocimiento suficiente para entrar a valorar cómo se interpreta, compila y ejecuta internamente el código, sólo hablo de la capa superior.
Que alguien me corrija en esto, pero creo que C# está mucho más pensado para y orientado fuertemente a la programación orientada a objetos. En C++ se puede hacer también, pero se ve claramente que, al igual que C, está mucho más orientado a programación funcional.
Dicho esto, #1, si no tienes pensado en el futuro ponerte a picar frontend web o probar con el "polifacético" NodeJS, C# del tirón. Código más elegante, más comprensible (menos "mágico" / más explícito), y aprendes Java gratis .