00.07.01 Wie lerne ich Programmieren (Java)?
Sei es aus beruflichen, schulischen oder privaten Gründen – wenn Sie dieses Kapitel lesen, müssen/wollen Sie vermutlich Programmieren bzw. eine Programmiersprache (im speziellen Java) erlernen. Das ist kein einfaches Unterfangen und kostet viel Zeit und Geduld. Deshalb sollten Sie nicht völlig planlos an die Sache herangehen. Dieses Kapitel hilft Ihnen dabei, sich eine geeignete Strategie zurecht zu legen und so möglichst schnell zum Erfolg zu kommen!
Die wichtigste Regel werden wir Ihnen gleich zu Beginn dieses Kapitels in Form eines Zitates verraten: Programmieren lernt man nur durch programmieren! Nehmen Sie sich diesen Satz zu Herzen. Natürlich ist Theorie wichtig und richtig, aber wenn Sie nie oder nur selten Ihr neues Wissen anwenden, vergessen Sie es schneller wieder, als Sie es erlernt haben. Wie Sie das anstellen ist in erster Linie völlig egal, Hauptsache Sie machen es! Suchen Sie nach Übungen im Internet (oder verwenden Sie die auf Java-Blog-Buch.de), denken Sie sich selbst kleine Übungsprogramme aus, vertiefen Sie Ihr Wissen durch Praxis-Kapitel, arbeiten Sie auf ein gesetztes Ziel hin, oder nehmen Sie einfache, bestehende, und für Sie nützliche Programme und programmieren Sie diese nach bzw. bessern Sie in Ihrer Version das aus, was Sie am ursprünglichen Programm stört. Seien Sie kreativ!
Lesen Sie ein Buch!
Nur die wenigsten unter Ihnen werden es sich leisten können einen eigenen Privatlehrer zu beschäftigen. Dies ist am Anfang auch nicht nötig und wird – wenn überhaupt – erst für fortgeschrittene Programmierer in komplexeren Themen, bei denen nicht die Zeit für eine intensive Selbst-Einarbeitung besteht, relevant. Der einfachste und billigste Weg ist deshalb das Studium eines Buches. Den ersten Schritt hierzu haben Sie bereits getan – indem Sie auf diese Website, das Java-Blog-Buch, gestoßen sind. Mit dem Java-Blog-Buch haben Sie eine gute Informations- und Lernquelle für Java-Programmierung gefunden!
Natürlich ist es nicht jedermanns Sache ein Buch ausschließlich Online bzw. am Bildschirm zu lesen. Da wir es Ihnen selbstverständlich nicht zumuten möchten, dass Sie dieses Buch vollständig ausdrucken, empfehlen wir Ihnen an dieser Stelle noch ein paar gebundene Bücher, die sich ideal zum Erlernen der Programmiersprache Java in Kombination mit dem Java-Blog-Buch eignen:
Java ist auch eine Insel | Java von Kopf bis Fuß | Handbuch der Java-Programmierung |
Dieses Buch deckt sehr viele Gebiete der Java-Programmierung ab und ist vor allem für Leser aus technischen Bereichen mit grundlegenden Vorkenntnissen aus der IT geeignet. | „Java von Kopf bis Fuß“ lehrt Ihnen die Programmiersprache von Anfang an und verwendet dabei ein innovatives und sehr verständliches Konzept. | Das „Handbuch der Java-Programmierung“ ist ein Referenzwerk. Es beschäftigt sich mit den elementaren Einsteigerthemen und schreckt dennoch nicht vor komplexeren Programmiertechniken zurück. |
Wenn Sie Ihr Buch fertig gelesen haben, sollten Sie es keineswegs einfach ins Regal stellen und nie mehr ansehen. Die meisten Bücher dienen auch nach dem Lesen noch als ideales Nachschlagewerk. Haben Sie deshalb keine Angst davor, direkt beim Lesen gegebenenfalls ein paar Seiten zurück zu blättern. Es wird durchaus vorkommen, dass Sie manches noch nicht sofort und ständig einsetzen oder verwenden können.
Konsultieren Sie mehrere Quellen!
Das Buch bzw. die Bücher sind der Grundstein für Ihren Lernerfolg. Dennoch kann ein Buch nicht alle Gebiete vollständig abdecken und auftauchende Fragen uneingeschränkt beantworten.
Sollten diese aber beim Lesen des Java-Blog-Buchs auftreten, scheuen Sie sich nicht davor, diese Frage an unser kompetentes Team in unserem Java-Forum auf Byte-Welt.net zu schicken. Wir werden Ihnen dann baldmöglichst eine zufriedenstellende Antwort liefern und hier ggf. sogar das Kapitel für Sie anpassen.
Deshalb ist es wichtig, dass Sie sich neben dem Buch noch andere Informationsquellen beschaffen.
Sie könnten beispielsweise parallel weitere Tutorials im Internet durcharbeiten, die für Sie interessante Themen besprechen, welche in Ihrem Buch nicht, oder nicht ausführlich genug behandelt wurden. Bei der Auffindung solcher Tutorials hilft meistens Google oder eine persönliche Empfehlungen aus bspw. einem Forum.
Hiermit wären wir auch schon bei der nächsten Quelle angelangt: Communities. Sollten Sie einmal gar nicht weiter wissen, konsultieren Sie am Besten ein entsprechendes Forum. Dort finden Sie für fast jedes Problem Experten, die Ihnen gerne helfen – sofern Sie höflich sind und sich an die Regeln halten. Dazu gehören bspw. keine Cross- oder Multipostings, also die selbe Frage in mehreren Foren stellen, und das Befragen von Google und der Forensuche bevor Sie ein Thema eröffnen. Unser Forum sollte die erste Anlaufstelle für Ihre Fragen sein:
Besuchen sie unsere Webseite Byte-Welt.net
Hier ist der Kunde (in diesem Fall der Frager bzw. die Community) noch König! Es werden fast bei allen Fragen freundliche und äußerst kompetente Antworten gegeben. Unser Forum hat kompetente Experten nicht nur zur objektorientierten Programmiersprache Java versammelt. Sie erhalten dort auch fundierte Antworten auf Fragen zu anderen Programmiersprachen oder verwandten IT-Themen bekommen. Zudem existiert ein Wiki, das Ihnen viele Fragen beantworten kann, bevor Sie sie überhaupt gestellt haben.
Als weitere Informationsquellen empfehlen wir Ihnen dazu, unterschiedliche und themenrelevante Weblogs zu lesen. Dort finden Sie allerdings größtenteils Beiträge zu spezialisierten Themen (was eher für fortgeschrittene Programmierer interessant ist), aber durchaus auch die eine oder andere Perle. Außerdem kann es nie Schaden, wenn Sie sich ständig auf dem Laufenden halten. Auch bei Themen, die Sie momentan nicht direkt interessieren oder betreffen. Eine Empfehlung für andere Java-Blogs finden Sie in der Blogroll des Java-Blog-Buchs (z. B. Java Insel Blog ).
Zu guter Letzt sollten Sie sich natürlich auch über aktuelle IT-Themen informieren. Hierbei sind vor allem die deutschsprachigen News-Seiten Golem.de und Heise.de oder JAXenter.de zu erwähnen.
Lernen Sie Schritt für Schritt!
Jetzt, da Sie die Basis für Ihren Lernerfolg geschaffen haben, können Sie mit der Programmierung beginnen. Sie sollten aber nicht irgendwie anfangen, sondern geordnet herangehen. Das heißt: Lesen Sie ein Einsteiger- oder Umsteigerbuch von vorne bis hinten durch. Sollten Sie einmal nicht weiter kommen, konsultieren Sie eine weitere Informationsquelle, gerne unser Forum. Vermeiden Sie Kapitelsprünge (jeder Aspekt einer Programmiersprache ist wichtig) und widerstehen Sie der Versuchung sofort GUI-Programmierung einzusetzen.
Eine GUI (Graphical User Interface) ist die grafische Benutzerschnittstelle einer Anwendung (z. B. ein Fenster, in dem man etwas eingeben kann). GUI-Programmierung ist folglich die Entwicklung einer solchen Eingabemaske.
Auch wenn Sie möglichst schnell vorankommen wollen: Es ist wirklich wichtig zuerst ein grundlegendes Gefühl und Verständnis für die Sprache zu haben und die Basics zu beherrschen, bevor Sie sich an grafische Benutzeroberflächen versuchen. Sollten Sie dann doch auf „regulärem Weg“ bei der GUI-Programmierung angekommen sein, verwenden Sie keine so genannten GUI-Builder.
Ein GUI-Builder ermöglicht es Ihnen eine grafische Benutzeroberfläche „zusammenzuklicken“, ohne auch nur eine Zeile Code dafür schreiben zu müssen.
Ein GUI-Builder mag Ihnen zwar auf den ersten Blick eine menge Zeit ersparen, aber der Lerneffekt ist dabei gleich null. Außerdem gibt es kaum einen GUI-Builder der sauberen Code erzeugt. Dies könnte unter anderem dazu führen, dass Ihr Java-Code mit einem anderen GUI-Builder oder gänzlich ohne ein solches Tool nicht mehr oder nur schwer wartbar ist.
Generell sollten Sie am Anfang auch vollkommen auf den Einsatz einer IDE verzichten. Eine IDE nimmt Ihnen zwar viele lästige Arbeiten ab und ist bei späteren Programmierarbeiten nicht mehr wegzudenken, trotzdem sollten Sie sich mit den Programmiertools (Compiler, Debugger, JRE, …), der grundlegenden Strukturierung und dem Aufbau eines Programms (Packages etc.) beschäftigen, und einmal auseinander gesetzt haben. Es wird Ihnen sicherlich nicht schaden. Sobald Sie die Techniken beherrschen, können Sie noch immer ohne Probleme auf eine IDE Ihrer Wahl umsteigen.
Bilden Sie Lerngruppen und helfen Sie Anderen!
Die Motivation in der Gruppe zu lernen ist deutlich höher, als wenn Sie sich alleine hinsetzen. Dadurch haben Sie die Möglichkeit sich gegenseitig auszutauschen und zu unterstützen. Falls Sie ein Thema nicht richtig verstanden haben, können Sie dadurch gemeinsam nach einer besseren Erklärung suchen bzw. sich gegenseitig auf die Sprünge helfen. Außerdem herrscht in der Gruppe meist eine lockerere Atmosphäre – das ist wichtig zum Entspannen zwischen den Lektionen.
Es bringt Sie ebenfalls enorm weiter, wenn Sie in einem Forum, der Gruppe selbst oder einem anderen Medium Ihrer Wahl nicht nur Fragen stellen, sondern auch anderen Programmierern helfen. Dadurch können Sie bestehendes Wissen vertiefen/testen, lernen oftmals komplett neue Dinge hinzu, stoßen auf interessante Problemstellungen und bekommen eine Bestätigung über Ihren Lernerfolg bzw. können diesen gut verfolgen. Ganz nebenbei freut sich natürlich derjenige über Ihre Hilfe und Sie haben das gute Gefühl, jemandem geholfen zu haben. Deshalb ist es auch besser, wenn sich in Ihrer Lerngruppe Programmierer mit unterschiedlichem Wissensstand und/oder Schwerpunkt befinden. So können Sie am Besten voneinander lernen.
Übertreiben Sie es aber nicht! Im Ernstfall müssen Sie Ihr Handwerk beherrschen – ohne dass Ihnen eine helfende Hand beiseite steht.
Studieren Sie Code!
Um Ihren Horizont zu erweitern ist es durchaus nützlich und gebräuchlich sich den Code von anderen Programmierern anzusehen, zu studieren und zu verstehen. Auf Koders.com können Sie den Code von OpenSource-Projekten durchsuchen und sich anzeigen lassen. Eine ähnliche Funktionalität bietet Ihnen die Code-Suche von Google. Auch finden Sie bei den meisten Programmen auf Sourceforge.net den dazugehörigen Quellcode zum herunterladen. Natürlich lohnt immer ein Blick in den originalen Java-Code. Diese befinden sich im Installationsverzeichnis des JDKs im src.zip-Archiv.
Überfordern Sie sich aber nicht. Code von mehr oder weniger professionellen Programmen können Ihnen schnell über den Kopf wachsen (mehr professionell) oder falsche Vorgehensweisen zeigen (weniger professionell). Ganz und gar kontraproduktiv beim Erlernen einer Programmiersprache ist es, wenn Sie nach dem Trial and Error-Prinzip vorgehen, also einfach so lange ausprobieren und versuchen, bis kein Fehler und das gewünschte Ergebnis herauskommt. Sie sollten also bereits über grundlegende Kenntnisse verfügen, bevor Sie den Code von Fremden analysieren.
Sie lernen aber nicht nur von fremdem Code. Sehen Sie sich in regelmäßigen Abständen Ihren eigenen, alten Code noch einmal an. Sie werden feststellen, dass sich Ihr Programmierstil im Laufe der Zeit extrem gewandelt und verbessert hat. Bessern Sie Ihren alten Code auch aus wenn Sie (was wohl immer zutrifft) Dinge finden, die Sie jetzt besser oder eleganter lösen würden. Natürlich nur wenn Sie mögen und die Zeit dazu haben.
Seien Sie selbstständig!
Intelligent ist, wer weiß, wo er findet, was er nicht weiß. Sie können sich unmöglich alle Aspekte der Programmierung merken. Deshalb ist es wichtig, dass Sie bei Problemen auch die Lösungen selbstständig finden können. Dazu gehört unter anderem die korrekte Verwendung von Suchmaschinen, Forensuchen und Stichwörter-Verzeichnissen. Aber auch die Fähigkeit, mit der Java API-Dokumentation arbeiten zu können, sollte nicht unterschätzt werden. Diese bietet Ihnen eine Auflistung aller Klassen und Schnittstellen, die Ihnen in Java standardmäßig zur Verfügung stehen. Zugegeben, am Anfang wird es nicht einfach für Sie sein mit dieser Dokumentation zu arbeiten. Aber wenn Sie sie regelmäßig durchstöbern, wird sie zu einer Ihrer mächtigsten Verbündeten!
Vor allem bei sehr speziellen Themen ist es manchmal schwierig, Hilfen und Erklärungen auf deutsch zu finden. Sollten Sie einen solch komplexen Sachverhalt vor sich liegen haben, formulieren Sie ruhig eine englische Suchanfrage oder stellen Sie Ihre Frage in einem englischen Forum (z. B. Java-Forums.org oder das offizielle Forum von Oracle). Dort finden Sie häufig ein breiter gefächertes Wissen, weshalb es auch für einen Programmierer nicht nur wegen der überwiegend auf englisch gehaltenen Dokumentationen sehr wichtig ist, dass er zumindest englisch verstehen kann.
Setzen Sie sich nicht unter Druck!
Wie bereits erwähnt, ist das Erlernen einer Programmiersprache sehr langwierig und anstrengend. Verlieren Sie deshalb nicht den Mut, falls es mal nicht so gut läuft. Setzten Sie sich stattdessen viele kleine und realistische Ziele, die Sie nach und nach erreichen können. Und vergessen Sie nie: Programmieren verlangt von Ihnen viel geistige Arbeit. Wenn es heute nicht mehr geht, lassen Sie es gut sein. Schlafen Sie eine Nacht darüber und schauen Sie sich das Problem am nächsten Tag (oder bei der nächsten Gelegenheit) noch einmal in aller Ruhe an.
Damit sollten Sie fürs Erste über genug Basiswissen verfügen, um Ihre Programmierer-Karriere zu starten. Wir wünschen Ihnen dabei viel Erfolg und natürlich Spaß am Programmieren und beim Lesen dieses Buches.
Super Beschreibung! Ich habe nach so deutliche Sprache lange im Internet gesucht. Bin gespannt über weitere Kapiteln. Danke!
Guter Aufbau und tolle Infos.
Damit kann man echt was anfangen.