Also ich kann dir nur Java empfehlen - Grund:
Einstieg etwas schwerer (da von Grund auf objektorientiert) aber dafür hast du eine wichtige Design-Struktur für deinen Code (eben die Objektorientierung) und je mehr du reinkommst, desto einfacher wird es.
Bei anderen Programmiersprachen wie C++ ist es eher anders herum. Es fängt extrem einfach an, und je mehr du einsteigst, desto schwerer wird es.
Außerdem ist Java "Write once, run everywhere", also eben einmal programmieren und auf jedem PC, egal ob Mac, Linux oder Windoof, ausführen, ohne es zu verändern.
C# kannst du zwar auch mit Mono (.NET für Linux) auf anderen Systemen irgendwie ausführen, ist aber nicht ganz so trivial. Und C++ ... naja das ist eine Geschichte für sich. Da kannst du gleich den Code auf jeder Plattform neu compilen, wenn nicht sogar neu schreiben
Letztendlich musst du dich entscheiden, was dich von der Syntax und dem allgemeinen Aufbau her mehr anspricht.
Noch ein Vorteil von Java: Du kannst nicht nur "normale" Programme für den PC damit schreiben, sondern auch relativ einfach Webanwendungen. Wenn du also irgendwann in den Web-Bereich einsteigen willst, dann musst du wenn du jetzt Java lernst, nicht später umsteigen sondern nur ein wenig zusätzlich lernen. Die Grundlagen kannst du aber alle weiter anwenden.
Falls ich dich von meiner "Muttersprache" Java überzeugen konnte, dann kann ich dir das folgende Buch empfehlen, da es sowohl Grundlagen als auch erweitertes Wissen vermittelt: [Link:
Registrierung erforderlich]