Hallo Continental,
Ich finde Java und Python gut als Anfang. Und mit beiden kann man sehr, sehr viel erreichen, so basieren OpenOffice auf Java-Code und Blender auf Python-Code.
Für beide gibt es sehr viele vorgefertigte Bibliotheken im Internet zum kostenlosen Download, so dass man nicht alles selbst programmieren muss, sondern auf existierende Teillösungen zurückgreifen kann. Weil auch viele Anfänger diese Sprachen lernen, gibt es viele leicht verständliche Anleitungen und Tipps im Internet, und man kann in sich Foren Rat holen, wenn’s nicht weitergeht. Es gibt mehrere richtig gute und einfach zu bedienende Grafikpakete für Java und Python, sodass man sich nicht monatelang nur mit Textein- und Ausgabe rumschlagen muss. Und diese Programmiersprachen sind aktuell und sehr modern, was einem die Tore zu anderen Hochsprachen öffnet.
Python hat eine Konsole, über die man direkt Befehle eingeben und die Ergebnisse mitverfolgen kann, anstatt die Befehle automatisch aus einer Datei einlesen zu lassen. Da macht Spass, ist lehrreich und verhindert so einige Frustration. Python legt grossen Wert auf die Ästhetik des Programms, was Spass macht und für ein „Feeling“ für naturwissenschaftliche und mathematische Disziplinen förderlich ist. Testen und Validieren ist ein fester Bestandteil von Python, was auch wieder Frustration verhindert, und einem einen vernünftigen Arbeitsablauf beim Programmieren nahelegt.
Java andererseits bietet mit Netbeans eine angenehmere Software zum erstellen und testen der Programme. Und mit Java kann man Applets programmieren, die man direkt auf einer Webseite laufen lassen kann, um sie mit Kollegen zu teilen. Und Android ist auf Java aufgebaut, also kann, wer Java kennt, recht einfach lernen, seine eigenen Apps zu programmieren (und per USB-Kabel aufs Handy laden).
Beim Buch würde ich drauf achten, dass möglichst bald ein Windows-Fenster erzeugt wird. Konsolenprogramme machen einfach nicht so viel Spass wie ein cooles, professionell wirkende Fenster unter Windows. Und nach meiner persönlichen Meinung sollte das Wort „class“ möglichst bald in einem der Programmbeispiele vorkommen, oder man sollte sich nicht durch allzuviele Seiten durchkämpfen müssen, bis endlich das Kapitel mit „Klassen“ und „Objekten“ beginnt. Objektorientiert finde ich einfach witziger als prozedural.
Gruss
Berchthold