Ich kann aus eigener Erfahrung sprechen, da ich mir selbst jegliche Programmierkenntnisse autodidaktisch beigebracht habe. Ich habe ganz am Anfang ein wenig mit Visual Basic 6.0 rumgemacht. "Das war grauenhaft." (wie Wladimir Klitschko sagen würde). Davon würde ich Dir auf jeden Fall abraten. Auch VB.NET ist nicht viel besser, auch wenn es nun endlich eine ordentliche objektorientierte Programmierung ermöglicht.
Dann hatten wir im Informatikunterricht am Gymnasium ein bisschen Pascal und Delphi. "Das war auch grauenhaft."
Als ich mit meinem Wirtschaftsinformatik-Studium begonnen habe, wurde für mich Java immer interessanter. Allerdings halte ich Java eher geeignet für Serveranwendungen. Auch für Programme, die unbedingt auf verschiedenen Plattformen (Betriebsystemen) laufen müssen, ist Java die erste Wahl. Wie bereits erwähnt, kompiliert der Java-Compiler den Quellcode nicht in Maschinencode, sondern in Bytecode. Diese Art "Zwischencode" muss dann von einer sog. Virtual Machine (die es für fast jedes Betriebssystem gibt) interpretiert und ausgeführt werden. Daher wird eine Java-Anwendung niemals die Performance eines echten Maschinencode-Programms erreichen. Java ist sehr einfach zu lernen, wenn man erst einmal die Grundlagen der objektorientierten Programmierung verinnerlicht hat. Es gibt zahlreiche Tutorials, freie Bücher und eine riesige Online-Community. Allerdings habe ich die Erfahrung gemacht, dass man häufiger steckenbleibt, wenn man ganz bestimmte Aufgaben erledigen will, weil man dafür meist irgendwelche zusätzlichen Klassenbibliotheken benötigt.
Parallel zu Java kam ich zu C# - eine sehr dankbare Programmiersprache, die ich prinzipiell am liebsten benutze. Die Syntax ist nahezu deckungsgleich mit Java, was auch ein paralleles Erlernen möglich macht. In C# geschriebene Programme werden auch nur in Bytecode kompiliert und von der Laufzeitumgebung (.NET Framework) interpretiert. Allerdings gibt es dieses Framework nur für Windows, so dass C#-Anwendungen nicht auf Linux, MacOS etc. lauffähig sind - ein gravierender Nachteil gegenüber Java, besonders im Business-Bereich. Allerdings ist C# für die Windows-Programmierung überaus komfortabel. Das .NET Framework bietet alles, was man für die Entwicklung von Windows-Anwendungen braucht. Man muss sich kaum um Zusatzpakete kümmern. Auch hierfür gibt es ein reichhaltiges Online-Angebot mit Foren, Büchern (z.B. bei GalileoComputing, s.o.) und dem umfangreichen MSDN. Außerdem ist Visual C# 2005 Express Edition kostenlos verfügbar und bietet eine tolle Entwicklungsumgebung, die auch Einsteigern eine sinnvolle Grundlage liefert. Gerade die Gestaltung von Benutzeroberflächen ist damit ein Kinderspiel, wohingegen man bei Java überwiegend alles von Hand schreiben muss.
Mit C++ habe ich mich noch nicht beschäftigt, aber ich bin der Meinung, dass es für Einsteiger nicht geeignet ist, da man sich hierbei um zu viele Sachen kümmern muss, die einen bei der Entwicklung der Anwendung nur aufhalten. Man muss etwa für Variablen reservierten Speicher manuell wieder freigeben, weil es nicht wie bei Java oder C# einen Garbage Collector gibt. So kann man sich viel weniger auf den wesentlich Zweck seines Programms konzentrieren weil man immer wieder 08/15-Code schreiben muss. Mit Visual C++ 2005 kann man auch das .NET Framework in C++ nutzen, aber damit entfällt die Möglichkeit, echte Maschinencode-Programme erstellen zu können. Das ist wohl das schlagkräftigste Argument für C++. Es ist in Punkto Performance unübertroffen.
Letztlich musst Du selbst entscheiden (was Du ja bereits getan hast). Ich empfehle Dir, Dich erst einmal mit der objektorientierten Programmierung vertraut zu machen. Dazu gibt es ein gutes
Online-Buch, welches die Grundlagen vermittelt. Danach würde ich Dir C# oder Java empfehlen. Für C# spricht vielleicht, dass Du mit diesem Wissen später mal auf C++ umsatteln kannst. Auch für Visual C# gibt es
Online-Lektüre.
Viel Spaß und Erfolg beim Einstieg in die Königsdisziplin der Informatik.