Sie sind hier: Startseite / Dokumentation und Support / FAQs / Was ist Python?

Was ist Python?

Python hat sich als dynamische Programmiersprache in vielen Gebieten der Softwareentwicklung weltweit etabliert. Dieser Artikel gibt eine Einführung in die Begrifflichkeiten und des Entwicklungsumfeldes von Python.

Python ist eine dynamische, d.h. interpretierende Script-Programmiersprache. Python wurde am Beginn der 1990er Jahre vom Niederländer Guido van Rossum entwickelt. Heutzutage wird diese Sprache als Open-Source Project von vielen Entwicklern weltweit unter der Führung von Guido in der Python Software Foundation (PSF) weiterentwickelt. Er wollte eine leicht zu erlernende Programmiersprache entwickeln. Es standen und stehen auch für die Weiterentwicklung von Python im Vordergrund:

  • Intuitiver und lesbarer Programmcode
  • doch ebenso mächtig wie andere schon etablierte Programmiersprachen
  • für tägliche Programmieraufgaben geeignet
  • es sollte, ist und bleibt eine Open-Source Sprache

Die Programmiersprache Python unterstützt die wichtigsten Programmier-Paradigm heutiger Software-Entwicklungsmethoden: Strukturierte Programmierung, Object-Orientierte-Programmierung (OOP) und Aspect-Oriented-Programming (AOP).

Die Stärke der Programmiersprache Python ist die schnelle Umsetzbarkeit von Ideen, die die sogenannte Rapid-Prototyping-Entwicklung von Software möglich macht. Dynamik und Flexibilität von Interpreter-Sprachen wie Python, Ruby, JavaScript oder gar Smalltalk kann natürlich immer nur ein Kompromiss in Punkto Ausführungsgeschwindigkeit sein. D.h. deutlich schnellere Software-Entwicklung, also die sogenannte Agile-Software-Entwicklung, wird auf Kosten der Ausführgeschwindigkeit erkauft. Statische oder sogenannte Compiler-Sprachen wie C, C++, Java oder LISP sind hier naturgemäß spürbar schneller in der Ausführung. Man kann aber dank der Verfügbarkeit von leistungsfähigen Zusatzpaketen für spezifische Anwendungsgebiete auch High-Performance-Anwendungen in Python entwickeln.

Python's Sprachkonstrukte ermöglichen zudem auch die gezielte Umsetzung von Prinzipien in der Software-Entwicklung wie Code-ReUse, KISS (Keep-It-Short-and-Simple) und DRY (Don't-Repeat-Yourself). Insbesondere die Verbesserung von ReUse-Konzepten ist in der Erforschung von effektiveren Software-Entwicklungen ein wichtiges Thema. Das führte an den Universitäten weltweit zu Forschungsaktivitäten, die zur Formulierung sogenannter Pattern (GoF) führte.

Der Name 'Python' hat im Zusammenhang mit der Programmiersprache keinen Bezug zur Tierwelt, sondern wurde vom Erfinder bzw. vom BDFL Guido van Rossum in einer wie es auf Wikipedia heißt "leicht respektlosen Stimmung" nach dem "Monty Python's Flying Circus" benannt.

Python Programmcode wird von einem Interpreter transparent in einen Zwischencode, dem sogenannten Byte-Code, übersetzt und anschließend ausgeführt. Solche Interpreter z.B. der in der Progammiersprache C entwickelte Python-Interpreter CPython, ist für alle gängigen Betriebssysteme wie Linux, Mac OS, Windows und andere verfügbar. Daher sind in Python entwickelte Programme Platform-unabhängig.

Fortgeschrittene, die genauer verstehen möchten, wie Python intern tickt, kommen aber oft um Online-Informationen in englischer Sprache nicht umhin. Ende 2001 wurde mit der Freigabe der Python Release 2.2 das Objekt-Model von Python vereinheitlicht, damit man z.B. auch von allen Built-In Basis Typen eigene Klassen ableiten kann. Dazu hat der Meister selbst ein Dokument veröffentlicht.

Python Installations Pakete (Source-Code und/oder vorkompiliert) findet man auf der Home-Page für Python. Zudem gibt es eine sehr grosse Auswahl an Zusatzpaketen, sogenannte Python-Eggs, für fast alle nur erdenklichen Anwendungsgebiete auf dem Python-Package-Index (PyPI).

Viele Firmen u.a. auch Google haben die Programmiersprache Python zu ihrer Inhouse-Scripting-Sprache für die Entwicklung von Web-Anwendungen erkoren. Ein mächtiges Beispiel für Web-Anwendungen ist dieGoolge's App-Engine. Seit Dezember 2005 ist Guido van Rossum Mitarbeiter bei Google. In einem auf Youtube verfügbaren Vortrag aus dem Jahre 2008 erläutert er das Thema Rapid-Development mit Python auf Google's Anwendung-Platform Google-Apps.

Guido van Rossum kann einen grossen Teil seiner Arbeitszeit auf die Fortentwicklung der Programmiersprache Python verwerden. Vorschläge zur Verbesserung von zukünftigen Python-Releases werden in Form von Python-Enhancement-Proposals (PEPs) an die Python Developer Community herangetragen.

Auf der Home-Page für Python findet der Anfänger natürlich neben der umfassenden Dokumentation auch eine Sprach-Reference, ein Wiki und den "Beginner's Guide" sowie eine Einführung zur Programmierung in Python in deutscher Übersetzung. Guido van Rossum sagt über Python, dass es eine Sprache sei mit Zitat: "Batteries included!". Damit ist natürlich die Python-Standard-Library gemeint. Da Python mehr als ein Programmier-Paradigma unterstützt, unterscheidet sich auch der Programmierstil von Python Entwicklern. Sie nennen ihren Stil für "guten" Python Programmcode "pythonic". Das wird unterstützt durch den Python-Coding-Style.

Leistungsfähige und sichere WebFrameworks, wie Zope (oder seine Weiterentwicklungen namens Grok und Bluebream) und das darauf aufbauende Content-Management-System (CMS) Plone wurde in Python entwickelt und programmiert. Sie bauen alle auf dem Zope-Took-Kit (ZTK) und dem Zope-Komponenten-Model (ZCA) auf.

Die Standard Lösung für Daten-Persistenz von Python-Applikationen heißt ZODB, eine objektorientierte Datenbank oft auch als Object-Store bezeichnet. Selbst Grosse Organisationen und Firmen wie die NASA oder gar die CIA nutzen diese leistungsfähigen und sicheren Web-Platformen.

Natürlich sind auch diese in Python entwickelte Platformen grosse Open-Source Projekte, die von Ihrer jeweiligen Foundation, der Zope-Foundation und der Plone-Foundation sehr erfolgreich administriert werden, um ihre wirtschaftliche und politische Unabhängigkeit auch im Sinne der Open-Source-Initative (OSI) der Free-Software-Foundation (FSF) sicher zu stellen.

Nur so werden auch in Zukunft Hunderte talentierten Software-Entwickler, unter Führung ihres BDFL Guido van Rossum, diese Programmiersprache sicher auch Dank der Verfügbarkeit des Internets als weltweit verteilte Developer-Community weiterentwickeln.

Die Programmiersprache Python steht seit dem Jahr 2001 unter der Python-Software-Foundation License.

Erfahrungsaustausch für deutsche Python Freunde sind im deutschen Python Forum möglich. Ein englischsprachiges News-Portal rund um Python bietet aktuelle Informationen rund um Python.

Rund um die dynamische Programmiersprache Python ist mittlerweile eine ganze Industrie mit vielen Job-Angeboten in den USA, aber auch in Europa entstanden. Für Freiberufler gibt es mittlerweile die Python-Projektbörse, damit Python Programmierer Ihre aktuellen Python-Projekte vorstellen können.

Ein Interaktiver Python Interpreter namens IPython ist für alle gängigen Platformen verfügbar. Aber man kann auch online bei Google die App-Engine nutzen um Online Anwendungen in Python in der Google-App-Engine online zu entwickeln.

Als Code-Repository setzt sich auch in der Python-Community mehr und mehr GIT durch. Selbst Plone (CMS) Entwickler arbeiten schon mit GIT. Als IDE bietet sich auch für Python die schon weit verbreitete Entwicklungsumgebung Eclipse an, da es dafür auch eine Eclipse-Erweiterung für Python names PyDev gibt.