Drücken Sie „Enter“, um den Inhalte zu überspringen

Python | Einleitung

Programmieren?

Programmieren macht spaß. Man sagt, Computer seien dumm. Oder nur so schlau, wie ein Programmierer es möchte und vorgibt. Es macht daher sehr viel spaß, einem Computer die Lösung einer neuen Aufgabe „beizubringen“. Am Ende können wir mit Stolz sagen: „Das habe ich programmiert“.

Programmieren ist kreativ. Wenn jemand ein Computerprogramm schreibt, will sie oder er etwas neues erschaffen. Wir brauchen keine Programme identisch nachzubauen, die es bereits gibt. Das mag interessant sein, um Programmabläufe besser zu verstehen. Wir sollten die Zeit dann aber lieber investieren, um durch das eigene Programm eine bessere Lösung zu schaffen. Dazu ist, wie beim Schreiben, Malen, Basteln oder Musizieren, viel Kreativität gefragt. Beim Programmieren gibt es häufig nicht die Lösung, sondern eine Lösung von vielen. Also lass uns kreativ sein ;-).

Programmieren fördert das logische Denken und hilft, Probleme schneller zu lösen. Programme sollen und wollen keine Selbstzweck erfüllen. Sie sollen uns die Arbeit erleichtern und dabei helfen, Probleme zu lösen, die uns zu schwierig sind oder viel Zeit für die Lösung benötigen würden. Programme sollen uns dabei helfen, Fehler bei der Lösung von Problemen zu vermeiden. Und sie helfen uns bei Aufgaben, die immer wieder die selben Arbeitsschritte bedeuten. Computerspiele, ebenfalls Programme, sollen uns unterhalten. Programme werden stets für einen bestimmten Zweck geschrieben. Alle diese Programme müssen gut durchdacht und fehlerfrei sein; das sollte immer die Maßgabe sein. Es ist daher ganz enorm wichtig, nicht sofort loszulegen, sondern erst einmal das so lösende Problem genau zu analysieren und entsprechend zu dokumentieren. Logisches Denken ist hierbei ganz entscheidend. Und auch hier gilt: Übung macht den Meister.

Eine Programmiersprache, was ist das?

Die gemeinsame Sprache ist etwas, was Menschen miteinander verbindet. Sie hilft dabei, dass Menschen sich untereinander verstehen können. Sie gibt uns die Möglichkeit, unsere Erlebnisse und Erfahrungen mit anderen zu teilen.

Mit Computern können wir leider nicht sprechen, wie mit anderen Menschen. Computer können unglaublich schnell rechnen und verschiedenste Aufgaben für uns erledigen. Aber sie entscheiden nie eigenständig, sondern führen nur Befehle aus, die wir ihnen zuvor gegeben haben. Ja, ein Computer ist gewissermaßen dumm.

In der Anfangszeit der Computer war es sehr kompliziert, einem Computer Befehle zu geben. Hierzu musste der Bediener sehr genau wissen, wie ein Computer aufgebaut war. Nur wenige Experten waren damals überhaupt dazu in der Lage. Um beispielsweise den einfachen Satz Hallo Welt! auf dem Bildschirm anzuzeigen, musste man einem PC damals eine Reihe von Befehlen geben:

.MODEL Small
.STACK 100h
.CONST
  HW      DB      "Hallo Welt!$"
.CODE

start:
  MOV AX,@data
  MOV DS,AX
  MOV DX, OFFSET DGROUP:HW
  MOV AH, 09H
  INT 21H
  MOV AH, 4Ch
  INT 21H
end start

Diese Befehle werden auch Assembler Codes genannt. In Assembler entspricht in der Regel jede Zeile einem Befehl, den der Computer direkt verstehen kann. Verstehen? So wie eine Sprache? Genau. Aber bei Computern sprechen wir dabei von Programmiersprachen. Die Assembler Programmiersprache ist dabei die Muttersprache eines Computers. Sie ist die Programmiersprache, die ein Computer ohne einen Übersetzer verstehen kann. Mehrere Befehle, die hintereinander oder manchmal auch gleichzeitig nebeneinander ausgeführt werden sollen, und in einem Zusammenhang zueinander stehen, nennt man ein Programm. Programme erfüllen in der Regel eine oder mehrere, in Zusammenhang stehende Aufgaben, und können dabei unterschiedlich komplex sein. Das Spiel auf dem Computer, die App auf dem Smartphone – das alles nennt man Programme. Auch das oben gezeigte Beispiel ist als Ganzes betrachtet ebenfalls ein Programm.

Viele Menschen wollen heute Computer nutzen und eigene Programme entwickeln. Computer finden wir heute fast überall: auf dem Schreibtisch zuhause oder im Büro, als Spielekonsole, als Mobiltelefon (Smartphone), in Haushaltsgeräten (beispielsweise in der Mikrowelle oder der Waschmaschine) oder auch im Auto. Aber nicht alle Menschen können und wollen die Assembler Programmiersprache lernen. Außerdem dauert das Programmieren in Assembler sehr lange, weil sehr viele Zeilen für teilweise sehr einfache Aufgaben zu schreiben sind. Und so wurden nach und nach weitere Programmiersprachen erfunden. Einige davon werden nur in ganz speziellen Einsatzgebieten verwendet. Andere Programmiersprachen sind so entwickelt worden, dass sie für viele Aufgaben verwendet werden können. Sie sind gewissermaßen überall einsetzbar. Damit ein Computer diese Programmiersprachen aber verstehen kann, braucht es immer einen Übersetzer oder einen Interpreter. Deshalb müssen für eine Programmiersprache auch zunächst eine Reihe von Programmen installiert werden, bevor diese Programmiersprache auf dem Computer verwendet werden kann. Häufig werden dabei auch Texteditoren installiert, die einem das Schreiben von Programmen in der jeweiligen Programmiersprache erleichtern. Solche speziellen Texteditoren, über die sich Befehle direkt übersetzen oder ausführen lassen, werden Entwicklungsumgebung genannt.

Ein Übersetzer (engl. Compiler) wandelt die Befehle einer Programmiersprache in Assembler um, damit der Computer diese sofort verstehen kann und das Programm ausführbar ist. Solche übersetzten Programme werden vom Übersetzer auf dem Computer abgespeichert, damit sie nicht jedesmal wieder neu übersetzt werden müssen. Ein einmal übersetztes Programm kann auch später auf einem anderen Computer (des selben Typs) ausgeführt werden, ohne dass zuvor die benutzte Programmiersprache dort installiert werden muss. Ein Interpreter arbeitet dagegen etwas anders, denn er speichert die Übersetzungen nicht ab. Er übersetzt von einem Programm Befehl für Befehl und vergisst alles anschließend wieder. Interpretierte Programme können nur auf anderen Computern ausgeführt werden, wenn die dafür notwendigen Programme auch dort installiert wurden. Wie das geht und wo solche Installationspakete zu finden sind, schauen wir uns später an.

Python

Eine dieser allgemein verwendbaren Programmiersprachen ist die Programmiersprache Python. Python ist eine leicht zu erlernende Programmiersprache, die für alle heute üblichen Computersysteme und Betriebssysteme verfügbar ist. Es spielt keine Rolle, ob der Computer ein PC ist, auf dem Microsoft(R) Windows(R) oder Linux eingesetzt wird. Oder ob der Computer ein Apple Mac ist, auf dem macOS(R) eingesetzt wird. Auf dem Raspberry Pi gehört Python sogar zum „Lieferumfang“ (Raspbian Linux).

Raspbian

Python wird im Allgemeinen immer interpretiert. Daher muss Python immer dort installiert sein, wo ein Python Programm ausgeführt werden soll.

Das zuvor gezeigte „Hallo Welt!“ Beispiel, lässt sich in Python ganz einfach mit einer Zeile schreiben:

print("Hallo Welt!")

Und es ist deutlich lesbarer und verständlicher, als der Assembler Code, richtig? Im Allgemeinen werden in Programmiersprachen Befehle und Schlüsselwörter mit englischen Begriffen verwendet. Die Begriffe sind so gewählt, dass am Namen bereits zu erkennen ist, was der Befehl tun wird. Das bedeutet aber nicht, dass in eigenen Programmen immer alle selbst geschriebenen Befehle auch englische Namen haben müssen. Aber es ist üblich und wir werden versuchen, uns auch hier daran zu halten.

Python ist leicht zu lernen und eignet sich daher sehr gut als Einstieg für Programmieranfänger. Ein in Python geschriebenes Programm ist sehr gut lesbar und leicht verständlich. Zum Lieferumfang gehören bereits die wichtigsten Befehle, um auch komplexere Programme oder Spiele zu entwickeln. Viele Programmierer arbeiten mit Python. Und von diesen stellen einige Teile ihrer Programme als Module (oder Pakete) auch anderen Programmierern kostenlos zur Verfügung. Diese Module sind keine vollständigen Programme, aber sie bestehen aus zusätzlichen Befehlen, die bei der Lösung bestimmter Probleme helfen. Bevor wir also anfangen, jedes Problem selbst lösen zu wollen, sollten wir immer erst nachschauen, ob nicht ein anderer Programmierer bereits ein ähnliches Problem gelöst und seine Lösung veröffentlicht hat. In Python lassen sich solche Module sehr einfach suchen und in eigenen Programmen verwenden.

PIP Install

Achtung: Die Verwendung von fremden Modulen / Paketen ist immer an Bedingungen geknüpft. Die Programmierer, die Module veröffentlichen, bestimmen, auf welche Art und Weise diese Module verwendet werden dürfen. Im Allgemeinen ist die Verwendung in eigenen, persönlichen Programmen uneingeschränkt erlaubt. Wenn aber das Programm an andere verteilt oder verkauft werden soll, müssen die Bedingungen der anderen Programmierer immer befolgt werden.

Und wann geht es jetzt richtig los?

Bevor wir richtig in die Programmierung und in die Programmiersprache Python einsteigen können, müssen wir erst einmal die notwendigen Grundlagen schaffen. Wie bei anderen Dingen auch, ist es wichtig, etwas Neues richtig zu lernen. Das hilft später bei der Arbeit in Teams und vor allem dabei, eigene Programme auch nach Wochen, Monaten oder sogar Jahren noch lesen und verstehen zu können. Das kostet häufig Geduld und Disziplin, aber es zahlt sich am Ende aus. Wir wollen daher schon am Anfang darauf achten, dass Programme sauber geschrieben und grundsätzlich dokumentiert werden.

Und, wir müssen uns erst einmal darum kümmern, dass alles auf dem Computer installiert ist, was wir für den Einstieg in die Programmierung mit Python benötigen. Das schauen wir uns im Folgenden jetzt an.

Fragen

  1. Was ist eine Programmiersprache?
  2. Was ist ein Programm?
  3. Welche Aufgaben erfüllt ein Übersetzer (Compiler)?
  4. Was macht ein Interpreter?
  5. Warum ist es wichtig, dass Programme sauber geschrieben und grundsätzlich dokumentiert werden?
Share This

Share This

Share this post with your friends!