La scelta dei linguaggi di programmazione, se non è obbligata da un ambiente di lavoro, è totalmente personale...

torn24 Il linguaggio più diffuso è ancora il C...

Se parli di comodità poi è tutta un'altra faccenda!
Le somiglianze fra C# e java non sono poi così grandi: sono sì simili per scopo e scelte più basiche, ma sono abbastanza (molto) diversi...

Tornando a noi:
  • Se ti interessa la realizzazione di app per smartphones scegli fra java (Android), C# (Windows), Objective-C (iOS), C++ (più o meno tutto)
  • Se ti interessa la realizzazione di applicazioni per desktop io punterei su Java, C# (o eventualmente C++)
  • Se ti interessa la programmazioni di sistemi embedded, l'automatizazione, ... vai col C


In ogni caso io considererei di partire con un linguaggio ad alto livello come il Python che ti aiuti a capire la logica e l'organizzazione di un programma senza soffermarti nei dettagli, cosa che potrai fare dopo passando ad un linguaggio a più basso livello...

Se dovessi decidere io un percorso di studio considererei queste due alternative:

  • Python
  • C
  • Haskell/OCaml


  • C
  • Smaltallk/Eiffel/Python/Ruby (i primi due sono fantastici per quanto riguardi la didattica ma ben poco utilizzati)
  • Scheme/Haskell


Haskell è più complesso sia di Scheme che di Ocaml, ma apre la mente

P.s. C# e Java sono da me impropriamente usati per CLR e JVM