1.1 | Hältst Du das richtige Buch in den Händen? |
Du möchtest die Programmiersprache Python erlernen oder Dein bereits vorhandenes Wissen darin erweitern? Dann bist Du hier genau richtig! Egal ob Du Dich zum ersten Mal mit dem Thema Programmierung auseinandersetzt oder schon Erfahrungen mit anderen Sprachen hast: Dieses Buch wird Dir dabei helfen, Python effektiv zu nutzen. Bereits im ersten Kapitel wirst Du erste Erfolge erzielen und Ergebnisse sehen, ohne Dich zuvor durch einen Theorie-Dschungel kämpfen zu müssen. Die einzigen Voraussetzungen, die Du mitbringen musst, sind Grundkenntnisse im Umgang mit Computern, Experimentierfreudigkeit, Neugier und natürlich auch Geduld. In diesem Buch wird zwar Wert auf einen praxisnahen Einstieg gelegt, aber das bedeutet nicht, dass Du innerhalb weniger Tage besonders ausgeklügelte Anwendungen entwickeln wirst. Das Lernen einer Programmiersprache ist ein stetiger Prozess, der, wie so vieles andere auch, aus Hochs und Tiefs besteht. Ich möchte Dir daher nicht das Versprechen geben, dass Du in x Tagen das Programmieren erlernst. Dafür versichere ich Dir, dass sämtliche Themen mit der nötigen Ausführlichkeit besprochen werden und es immer Tipps und Hilfestellungen geben wird.
Es spielt keine Rolle, welches Betriebssystem Du bevorzugst. Du kannst mit diesem Buch sowohl unter Windows, macOS als auch Linux arbeiten. Alle nötigen Entwicklungswerkzeuge gibt es frei im Netz und werden gleich näher vorgestellt.
Kenntnisse in anderen Programmiersprachen sind zwar vorteilhaft, aber definitiv keine Grundvoraussetzung. Und falls es Dir doch einmal nicht schnell genug geht, kannst Du auch die Zusammenfassung am Ende jedes Kapitels lesen und dann immer noch entscheiden, ob Du das Kapitel Schritt für Schritt durcharbeiten möchtest.
1.2 | Dieses Buch bricht mit einigen Konventionen! |
Ich habe mich dazu entschlossen, mit einigen Konventionen zu brechen. So verzichte ich beispielsweise darauf, gleich zu Beginn auf Themen wie Objektorientierung oder Container einzugehen. Vielmehr lege ich Wert darauf, dass möglichst schnell erste Ergebnisse und Erfolgserlebnisse zu sehen sind. Das bedeutet natürlich nicht, dass auf sauberen Programmierstil oder fortgeschrittene Konzepte verzichtet wird. Allerdings sollten zuerst einige Grundlagen geschaffen werden, damit man weiterführende Themen versteht. Ich werde zugunsten der Lesbarkeit und der Lernkurve auch darauf verzichten, ein neues Thema sofort in all seinen tiefsten Details zu durchleuchten. Möchte jemand beispielsweise das Kochen erlernen, dann fängt er in der Regel mit einem einfachen Rezept an. Wenn nach fünfzehn oder zwanzig Minuten das erste unkomplizierte Essen auf dem Tisch steht, ist das eine tolle Motivation. Die physikalischen und chemischen Prozesse, die während des Kochvorgangs ablaufen, interessieren zunächst noch nicht. Später wird man vielleicht ausgefeilte Rezepte ausprobieren und sich dann ganz von selbst für die Details und Hintergründe interessieren. Hierzu ein kleiner Vergleich anhand eines Rezeptes, das auf unterschiedliche Weise präsentiert wird:
Variante 1: Nimm einen schönen großen Topf, fülle ihn mit einem Liter Wasser und streue einen Teelöffel Salz hinein. Stelle den Topf auf den Herd, schalte die Platte auf Stufe 5 und warte, bis das Wasser kocht. Gib nun eine halbe Packung Nudeln hinzu, rühre gelegentlich um und warte, bis diese bissfest sind. Guten Appetit!
Variante 2: Besorgen Sie sich einen temperaturbeständigen, oben offenen Behälter (sogenannter „Topf“), der gute Wärmeleiteigenschaften aufweist. Ideal ist das Element Aluminium oder auch eine Legierung, wie etwa Messing. Messen Sie anschließend mit einem geeigneten und möglichst gut geeichten Messbecher exakt einen Liter Dihydrogenmonoxid (ugs. „Wasser“) ab und füllen Sie dieses in den Behälter. Fügen Sie als Nächstes fünf Gramm Natriumchlorid (besser bekannt als „Salz“) hinzu. Dies dient ausschließlich geschmacklichen Zwecken und nicht etwa dem weit verbreiteten Irrtum, dass sich der Siedepunkt durch die Beigabe in einem relevanten Ausmaß ändert. Beachten Sie dabei jedoch, dass der Siedepunkt vom Luftdruck abhängig ist. Sollten Sie sich also in extremen Höhen oder Tiefen befinden, können Sie den Siedepunkt nach folgender Formel berechnen . . .
Auch ohne das Rezept in Variante zwei zu Ende zu führen sollte klar sein, worauf ich hinaus will: Details, Hintergründe und Exaktheit sind durchaus wichtig, aber in dieser Fülle für ein einfaches Beispiel nicht angebracht. Sie können einen erschlagen, die Motivation rauben und vom eigentlichen Geschehen ablenken. Das bedeutet selbstverständlich nicht, dass Themen grundsätzlich oberflächlich behandelt werden. Es geht vielmehr darum, Details auf einen geeigneteren Zeitpunkt zu verschieben.
1.3 | Die Arbeit mit diesem Buch |
Idealerweise arbeitest Du die Kapitel in der angegebenen Reihenfolge durch, denn sie bauen in der Regel auf vorangegangene Kenntnisse auf. Neue Themen werden zunächst erklärt und deren Anwendungsmöglichkeiten anhand von Beispielen verdeutlicht. Damit sich neu Gelerntes festigt, gibt es immer wieder kleine Übungsaufgaben. Sieh diese nicht als lästige Pflicht, sondern als Herausforderung an. Man lernt viel besser, wenn man sich Lösungen selbst erarbeitet, anstatt nur vorgefertigte Beispiele zu laden und zu starten. Natürlich werde ich Dir zu jeder Aufgabe Tipps und Hinweise geben. Im Anschluss gibt es dann eine Musterlösung, die Du mit Deiner eigenen Lösung vergleichen kannst.
Eine besondere Art von Aufgaben sind die sogenannten Fehlerquelltexte. Dabei handelt es sich um Beispiele, in die absichtlich Fehler eingebaut wurden. Diese Fehler führen dazu, dass sich das Programm entweder nicht ausführen lässt, oder dass es nicht so funktioniert wie erwartet. Selbst der erfahrenste Programmierer macht immer wieder Fehler und muss in der Lage sein, diese zu finden und zu korrigieren. Dennoch gibt es ganz bestimmte Stolpersteine, an denen man gerade anfangs immer wieder hängen bleibt. Die Fehlerquelltexte helfen dabei, ein Gespür für typische Fallen zu entwickeln und diese in Zukunft zu umgehen. Dies ist nützlich, um Fehler nicht nur schneller zu finden, sondern sie nach Möglichkeit auch von Anfang an so gut es geht zu vermeiden. Natürlich gibt es auch an dieser Stelle immer einige Tipps, wie man den Fehler eingrenzen, finden und beheben kann. Zudem wird auch eine korrigierte Fassung des Fehlerquelltextes gezeigt.
Abgesehen von den Vorschlägen wie Du am besten mit diesem Buch arbeitest, möchte ich Dir noch einige allgemeine Tipps mit auf den Weg geben. Wie so oft ist es bei neuen Dingen so, dass man anfangs große Fortschritte macht und dann plötzlich an eine Stelle gerät, an der es scheinbar nicht oder nur langsam vorangeht. Neue Themen wirken dann vielleicht übermäßig komplex oder deren Sinn erschließt sich nicht. Das kann manchmal ziemlich frustrierend sein, ist aber völlig normal. Am besten macht man in einer solchen Situation einfach eine längere Pause und beschäftigt sich mit etwas völlig anderem. Idealerweise mit etwas, das nichts mit Computern zu tun hat. Meistens kehrt man dann später mit einem anderen Blickwinkel zu dem Problem zurück und die Dinge scheinen wieder klarer. Auch wenn das vielleicht nach einem recht offensichtlichen Tipp klingt, solltest Du ihn dennoch beherzigen. Programmierung ist eine sehr fordernde Tätigkeit, die Pausen erfordert. „Eine Nacht darüber schlafen“ hat schon so manchem hartnäckigen Programmierfehler den Garaus gemacht und für frische Ideen gesorgt. Manchmal ist es auch hilfreich, sich einem anderen Thema zu widmen, wenn man an einer Stelle nicht weiterkommt. Blättere einfach einmal in vorherige Kapitel zurück oder schnuppere in neue Kapitel hinein.
Das Erlernen einer Programmiersprache (und das Programmieren an sich) kann man mit dem Erlernen eines Musikinstruments vergleichen: Man ist niemals fertig damit und hat nie ausgelernt. Selbst wenn man alle Features einer Programmiersprache kennt, stößt man immer wieder auf neue Programmiertechniken oder Themengebiete. Daher ist es wichtig, immer am Ball zu bleiben, um nicht den Anschluss zu verlieren.
Du solltest auch nicht vergessen, dass die Zeiten vorbei sind, in denen ein einsamer Programmierer im schwach beleuchteten Keller sitzt und völlig auf sich gestellt ein Programm entwickelt. Natürlich ist das immer noch möglich, aber nicht sonderlich sinnvoll. Programmierer sind längt keine winzige Randgruppe mehr, die ihr Wissen völlig neu erarbeitet und dann verschwörerisch hütet. In der heutigen Zeit beschäftigen sich sehr viele Menschen mit diesem Thema und sie tauschen sich über das Internet aus. Anstatt tagelang über einem Problem zu brüten, sucht man im Internet nach einer Lösung. Man kann fast immer davon ausgehen, dass jemand anderes zuvor genau das gleiche Problem hatte und es eine Lösung dafür gibt. Falls nicht, kann man immer noch selbst um Hilfe bitten. Das bedeutet natürlich nicht, dass man nicht selbst nachdenken sollte und sich alles nur noch zusammensuchen muss. Den eigenen Kopf einzuschalten ist die...