@foley92: Wieso erinnert mich dein Post nur an Teach Yourself Programming in Ten Years...

Um vielleicht etwas zum Topic beizutragen: Ich hab in der Schule die Grundlagen der Programmierung mit Turbo Pascal und Delphi gelernt, was eigentlich recht gut geklappt hat.
Später dann (ausbildungsbedingt) hab ich mich nur noch mit der .NET-Plattform beschäftigt (vor allem VB.NET). Man kommt recht schnell zu Ergebnissen (z.B. bei der Programmierung grafischer Oberflächen) aber man ist eben - mehr oder weniger - an die Windows-Plattform gebunden.
Nichtsdestotrotz könnte ich einem Anfänger VB.NET oder C# empfehlen. Es gibt viel gute kostenlose Literatur (kostenlose E-Books beispielsweise als Galileo-Computing-Openbook) und mit den sehr leistungsfähigen kostenlosen Express-Entwicklungsumgebungen von Microsoft kann man wirklich sehr gut arbeiten.