Programmieren mit Python
Autor und Dozent: Thomas Bruhin
Dies ist die Begleitwebsite zum Workshop Einstieg in die Programmierung mit Hilfe der Skriptingsprache Python. Dieser Einstiegworkshop ist für Programmierneulinge gedacht und setzt keine Programmierkenntnisse voraus. Konzipiert wurde dieser Workshop von Thomas Bruhin für das Hyperwerk der FHBB.
Warum gerade Python? (und nicht Javascript, PHP,...)
Python ist eine sehr einfach zu erlernende Programmiersprache (korrekt: Skriptingsprache) und ideal als Einstieg in die Welt der Programmierung geeignet. Trotz ihrer Einfachheit bietet diese Sprache auch die Möglichkeit, komplexe Programme für vielfältige Anwendungsgebiete zu schreiben.
Javascript und PHP wurden hingegen für den Einsatz in Webprojekten und speziell der Webprogrammierung entwickelt und eignen sich weniger für die generelle Applikationsentwicklung.
Schnelle Anwendungs-Entwicklung
(Auszug aus dem Buch Einstieg in Python von Thomas Theis, Galileo Computing ISBN 3-89842-227-5)
Python bietet besonders gute Möglichkeiten zur schnellen Entwicklung umfangreicher Anwendungen, des sogenannten RAD. Python vereint zu diesem Zweck folgende Vorteile:
- Einfache, eindeutige Syntax: Python ist eine ideale Programmiersprache für Einsteiger. Sie beschränkt sich auf einfache, klare Anweisungen. In anderen Programmiersprachen werden vielfältige Lösungswege für das gleiche Problem angeboten (Paradebeispiel: PERL), so dass der Entwickler und speziell der Programmieranfänger verunsichert wird.
- Klare Strukturen: Ein Entwickler wird in Python gezwungen, in einer gut lesbaren Struktur zu schreiben. Die Anordnung der Programmzeilen ergibt die logische Struktur des Programms.
- Wiederverwendung von Code: Die Modularisierung, d.h. die Zerlegung eines Problems in Teilprobleme und die anschliessende Zusammenführung der Teillösungen zu einer Gesamtlösung (die Applikation oder das Programm), wird in Python sehr leicht gemacht. Die vorhandenen Teillösungen können sehr unkompliziert für weitere Aufgabenstellungen genutzt werden, so dass der Entwickler nach einiger Zeit über einen umfangreichen Pool an Modulen verfügt.
- Objekt-Bearbeitung: In Python werden alle Daten als Objekte gespeichert. Dies führt zu einer einheitlichen Daten-Behandlung für Objekte unterschiedlichen Typs. Andrerseits wird die physikalische Speicherung der Objekte von Python automatisch, ohne Eingriff des Entwicklers vorgenommen. Er muss sich nicht um die Reservierung bzw. Freigabe geeigneter Speicherbereiche kümmern.
- Interpreter / Compiler: Python-Programme werden unmittelbar interpretiert, d.h. ausgeführt (eine Eigenschaft praktisch aller Skriptingsprachen!). Sie müssen nicht erst kompiliert und gebunden werden, wie dies Code in traditionellen Programmiersprachen wie C, C++ oder Pascal verlangt. Dies ermöglicht einen nicht zu unterschätzenden häufigen, schnellen Wechsel zwischen Codierungs- und Testphase.
- Betriebsystem-Unabhängigkeit: Sowohl Programme die von der Kommandozeile aus bedient werden, als auch Programme mit grafischen Benutzeroberflächen können auf unterschiedlichen Betriebsystemen (Windows, Unix, Mac OS) ohne Neu-Entwicklung und Anpassung eingesetzt werden.
Begleitmaterial und "Downloads"
Stand: Dezember 2007
Python Links
Online Bücher:
- http://www.freenetpages.co.uk/hp/alan.gauld/ (Learning to program)
- http://www.greenteapress.com/thinkpython/ (How to Think Like a Computer Scientist)
- http://diveintopython.org/ (Dive into Python)
- Bruce Eckel's Mindview: Thinking in Python
- Galileo Design Openbook: Das umfassende Handbuch - Aktuell zu Python 2.5
Online Artikel:
- Devshed.com: All about Python
- devArticles.com: Python: the other Scripting Language that starts with
P
- Hotscripts.com: The Python Section