io noto una grandissima confusione nelle idee di TheMaster.
Prima di tutto, i linguaggi di programmazione, a parte diversi casi, non sono legati al sistema operativo.
Ad esempio è possibile scrivere un programma su windows, ma farlo girare anche su linux/unix oppure mac. Ovviamente la difficoltà nel farlo dipende dal linguaggio di programmazione scelto. Con Python o Java il passaggio è quasi indolore. Con il C o C++ invece la cosa diventa molto più ardua, ma è comunque possibile.
Ciò che è importante notare è che in genere qualunque problema può essere risolto da un qualunque linguaggio di programmazione. Ognuno però ha i suoi punti di forza ed i suoi punti di debolezza.
Piccolo esempio: per fare un programma che risolva un certo problema utilizziamo Python e C. Con Python scriviamo solo 20 righe di codice, mentre con C ce ne vogliono 200 (in questo caso meglio Python, si risparmia un sacco di tempo!!). Però per eseguire poi il programma, Python impiega 10 minuti, mentre C solo 1 minuto (allora in questo caso meglio C!!). A parte l'esempio un pò troppo estremizzato (vi prego, niente flame

), vorrei far capire che il linguaggio di programmazione da utilizzare è sempre quello che meglio si adatta all'obiettivo che ci prefissiamo.
Il linguaggio di programmazione è solo uno strumento per raggiungere un particolare obiettivo!
Detto questo, i linguaggi più comuni sono C, C++, Python, Java, C#, Visual Basic (questi ultimi due sono però nativi di windows, ma credo che sia comunque possibile utilizzarli anche su linux con MONO).
Partendo completamente da zero allora ti consiglio anche io, come cdimauro, cominciare con Python
p.s. spero di non avere scritto troppe cazzate