Hallo,
wenn du _wirklich_ programmieren _lernen_ willst und mit einer Hochsprache beginnen möchtest, empfehle ich dir C.
Damit wirst du zwar nur auf relativ niedrigem Level programmieren können, erlernst dafür aber die Grundsätze der (prozeduralen) Programmierung schneller. Zudem bist du näher an der Hardware und kannst ohne Umwege noch tiefer (auf Assembler) absteigen.
Erst wenn du diese "primitive" Programmierung verstanden hast, macht es Sinn mit objektorientierten Sprachen weiterzumachen. (Cpp, C#, Java, ...)
Du wirst merken, dass sich die Syntax von C,Cpp,C# und Java im Grunde sehr ähnelt - d.h. wenn du C kannst, so wirst du wenig Probleme haben, dich in modernere Sprachen einzuarbeiten - zumal der Kerngedanke der objektorientierten Programmierung sprachunabhängig ist.
Dass du mit C keine schönen GUI's herklicken kannst, sollte dir aber klar sein - viele "spielen" ein bisschen mit VB rum, ziehen sich ein paar Buttons auf eine Form und behaupten, VB programmieren zu können - dass dem aber nicht so ist, sieht man, wenn man diese Leute mal mit einer simplen Sortieraufgabe konfrontiert, für die es noch keine fertige Funktion gibt.
Was ich damit sagen will ist, dass zur Programmierung ein relativ breites mathematisches Wissen und ein hohes Maß an Abstraktionsvermögen gehört, ohne das du einfach nicht weit kommen wirst.
Ob man das mit 14 Jahren schon hat kann ich nicht verallgemeinern - es gibt jedoch Leute, die werdens ihr Lebenlang nicht haben
PS: in deiner Java-Frage hier im Forum hat dir Jemand einen Link zum Galileo-Openbook gegeben - dort gibts auch ein Buch (C von A bis Z), das ist nicht schlecht für den Anfang.
Lg