Nun mal ein Erfahrungsbericht aus meiner langjährigen (ca 15 Jahre nun) Programmierkarriere. Meine Anfänge mit gwbasic, qbasic... lasse ich mal aussen vor und gehe gleich über zu modernen Standart-Sprachen.
Visual Basic
Also ich kann jedem Neuling empfehlen sich erst mal mit Visual Basic (ich empfehle noch die vorherige Version 6) zu befassen. Durch das Klick n Play Prinzip kann man recht schnelle Erfolge erzielen. Auch ist das erlernen der Sprache kinderleicht. Auf diese Art kann man gut erkennen ob einem das Programmieren liegt.
Ein Vorteil am erlernen dieser Sprache ist, man beherrscht nun auch das VBA (Visual Basic for Applications) welche in dem MS Office-Paket integriert ist (nennt sich dort Makro-Programmierung). Die integration von Office-Dateien in ein VB-Projekt wird somit sehr erleichtert.
Ein Beispiel wäre der Zugriff mittels einer VB-GUI auf eine Access-Datenbank (Access muss dabei nicht mal installiert sein) und das erzeugen von Reports als Excel-Dateien (inklusive schöner Diagramme) und das laden von Vordrucken aus Word-Dateien welche vom VB-Programm mit Daten gefüllt werden und anschliesend an den Drucker gesendet werden.
Wer also auf dieser Schiene sein Geld verdienen will, sollte sich deshalb VB einmal anschauen. Zwar mag bei vielen diese Sprache verpönt sein, aber es gibt eine Menge Firmen welche VB bzw VBA einsetzen. Es kann also niemals falsch sein sich einmal damit befasst zu haben zumal Makro-Programmierung bei Office-Anwendungen weit verbreitet ist (besonders in Access, warum auch immer).
Delphi (Object Pascal)
Wer schon früher Erfahrung mit Turbo Pascal gesammelt hat dem würde ich statt VB das Delphi von Borland empfehlen. Es basiert auf Object Pascal (objektorientierte Version von Turbo Pascal) und besitzt ebenfalls eine leicht erlernbare IDE mit welcher man schnelle Programmiererfolge erzielen kann.
Viele Firmen die ich kenne programmieren in dieser Sprache ihre Programme welche sie erfolgreich vermarkten. Von Borland gibts eine kostenlose Version für den Privat-Bedarf.
Es gibt auch eine Version namens Kylix (ebenfalls von Borland) mit welcher man Programme unter Linux erzeugen kann.
Meiner Meinung nach ist der Haupt-Unterschied zwischen Visual Basic und Delphi nur die dahinterliegende Programmiersprache (spezielle Programmfunktionen lasse ich mal aussen vor). Die IDEs sind sich ziemlich gleich in Punkto Bedienungsfreundlichkeit und Komfort.
C/C++
Einsteigern würde ich diese Sprache niemals empfehlen. Dazu ist diese viel zu schwer. Man denke nur an das aufwendige konvertieren von Datentypen oder den Umgang mit Zeigern. Sowas führt sehr schnell zu Frust bei Newbies.
Wer sich inzwischen genügend Erfahrung im Umgang mit Objektorientierung angeeignet hat, der kann sich nun an C++/Java wagen. Das reine erlernen der imperativen Sprache C halte ich nicht für sinnvoll.
Ein Vorteil von C/C++ ist die Hardwarenahe Programmierung. Wer sich in Zukunft mit z.B. Treiberentwicklung befassen will, der sollte sich an dieser Sprache festkrallen.
Wer sich von der Microsoft-Schiene lossagen will, der muss sich einfach mit dieser Sprache befassen.
C#
Diese abgewandelte C++-Variante stammt von Microsoft und ist Bestandteil des Dot Net-Frameworks. Bisher ist damit nur eine Windows-abhängige Programmierung möglich (Wrapper für andere Betriebssysteme sollen folgen - siehe MONO). Die IDE ermöglicht es nun auch Einsteigern endlich per Klick n Play schnell lauffähige Programme zu erzeugen (die alte MFC war mal der absolute Horror!). Trotzdem würde ich diese Sprache Einsteigern nicht empfehlen. Eher erfahrenen C++ -Programmierern welche nun für W'indows optimierte Programme erstellen möchten.
Übrigens, als eingefleischter Linux'ianer halte ich Mono für eine perversion!
Java
Eine sehr schöne Sprache, angelehnt an C++ nur das einige Features davon fehlen (komplexe Konstrukte wie Mehrfachvererbung oder die fehleranfällige Zeigerarithmetik) und die Sprache somit "leichter" zu handhaben ist. Der Vorteil ist die Platformunabhängigkeit. Damit geschriebene Programme laufen sowohl unter Windows, Linux, Unix, Mac, Solaris... (und andere Betriebssysteme für diese es eine JVM gibt). Voraussetzung ist natürlich eine installierte Java Virtual Machine ohne diese der erzeugte Bytecode nicht interpretiert werden kann. Aus diesem kleinen Manko laufen Java-Programme immer etwas langsamer als z.B. C++-Programme. Zwar gibt es auch optimierungsmöglichkeiten (z.B. Betriebssystemabhängige compilierung) welche das ganze beschleunigen, trotzdem ist Java nicht für 3D-Spiele geeignet.
Der Zukunftsmarkt von Java liegt unter anderem im Embedded-Bereich. Man denke nur an Java-Handy-Spiele, Smartcards und andere mobile Geräte. Hinzu kämen auch noch der J2EE-Bereich (darauf gehe ich nun nicht näher ein, wäre zu abschweifend).
Bei Fragen, einfach hier posten (eventuell schaue ich mal rein) oder mir eine PN schicken.