Non so se ti verrà cancellato, io ti rispondo comunque.
Prima di tutto conoscendo qualcosa riguardo le GUI in Java, non vai molto lontano. Devi conoscere anche (e soprattutto) la libreria!
Se vuoi scrivere programmi solo per Windows ti converrebbe scriverli su Windows, magari utilizzando C#. Oppure, se proprio vuoi, puoi stare su Linux...ma dovrai utilizzare mono (e se non ricordo male non è ancora del tutto completo).
1) che differenza di programmazione c'è, tra C e java? ovvero se funzionano meglio, sono più stabili, sono più complicati da scrivere (librerie o altro da importare), sono più "grandi" (cioè se ci sono più cose da poter fare, detto a parole povere xD) sotto java che rispetto a C, o viceversa..
2) altrimenti, quali altri linguaggi potrei seguire, appunto per creare programmi per windows?
Alle tue domande puoi trovare una miriade di risposte su Zio Google; tuttavia ti rispondo, ma ti invito comunque a curiosare ed informarti in rete
1) Come domanda potrebbe starci, ciò che hai scritto dopo...no. Vediamo se riesco ad essere esaustivo...
Java utilizza un paradigma di programmazione diverso dal C. Il Java è Programmazione Orientata agli Oggetti (OOP). Quindi dovrai approfondire e comprendere i meccanismo di questo tipo di programmazione, prima di poter procedere (molti linguaggi sono OOP (per citarne alcuni: Java, C++, C#) e magari la conosci già... in Java però è tutto piuttosto rigido).
Io personalmente amo la OOP, e fatico molto a programmare in C. Per progetti un pò "grandi" mi ci trovo meglio, ma soprattutto per il modo in cui penso le applicazioni.
Java è anche multi-piattaforma; se compili su Linux il tuo programma puoi eseguirlo direttamente anche su Windows senza problemi (non devi ricompilare). In realtà dipende poi dalle librerie che utilizzi anche (ma Java funzionando su una macchina virtuale non ha di questi problemi).
Per contro, Java è più lento rispetto a C.
Se scrivi un buon programma è stabile sia in C sia in Java.
Non capisco il senso del creare programmi per windows se tanto utilizzi Linux...
2) I linguaggi sono molti... dipende da ciò che vuoi scrivere principalmente.
Che esperienze di programmazione hai lato web?