Programmiersprache Python

An dieser Stelle möchte ich Dir einen kurzen Überblick über die Programmiersprache Python geben. Nach einem kurzen historischen Rückblick betrachten wir deren grundlegenden Konzepte und werfen dann einen Blick auf die Einsatzmöglichkeiten von Python. So erfährst Du, was Du von der Programmiersprache Python darfst und für welche Zwecke Du sie sinnvoll einsetzen kannst.

Geschichte

Python wurde zu Beginn der 1990er-Jahre von Guido van Rossum entwickelt, einem niederländischen Informatiker. Vor Python war Guido van Rossum an der Entwicklung Lernprogrammiersprache ABC beteiligt. Sie sollte es einem interessierten Laien ohne Programmiererfahrung ermöglichen, das Programmieren leicht und schnell zu erlernen. Die Sprache wurde also vor allem auch unter didaktischen Aspekten entworfen. Die damit gemachten Erfahrungen, aus positiver wie auch negativer Kritik, nutzte Guido van Rossum beim Entwurf von Python. Er schuf damit eine Programmiersprache, die auf der einen Seite einfach zu erlernen ist, die auf der anderen Seite aber auch so mächtig ist, dass sich damit professionelle Anwendungen für den Produktivbetrieb des harten Arbeitsalltags schreiben lassen. – Der Name bezeichnet übrigen keine Schlangenart, er ist vielmehr eine Hommage an die britische Komikertruppe namens Monty Python.

Die Version 3, die ich in meinem Tutorial verwende, erschien im Dezember 2008. Gegenüber der Vorgängerversion, der Version 2, wurde Python 3 grundlegend überarbeitet. Diverse Unschönheiten, Unstimmigkeiten und Designfehler wurden dabei beseitigt. In der Folge sind Version 2 und 3 von Python nur bedingt kompatibel zueinander. Wenn Du also beispielsweise einen Mac-Computer Dein Eigen nennst, so findest Du darauf eventuell eine Python-Version 2.7 vorinstalliert. – Bis macOS Monterey war das der Fall. Wie die Versionsnummer ausdrückt, handelt es sich um einen Sub-Release der Version 2 von Python. Wenn Du an meinem Tutorial teilnehmen möchtest, musst Du also die neuere Version Python 3 installieren.

Popularität

Im Laufe der Zeit hat sich Python in der Software-Industrie einen festen Platz unter den beliebtesten und am häufigsten eingesetzten Programmiersprachen erobert.

TIOBE Index Mai 2023
Die ersten 10 Plätze aus dem TIOBE-Index 05/2023

Aktuell, im Mai 2023, führt die Programmiersprache Python den TIOBE-Index, eine Statistik über die weltweite Nutzung und Beliebtheit von Programmiersprachen, an. Python ist daher nicht nur ein Hype oder gar bloß für Anfänger geeignete Programmiersprache, die aktuell in vielfältigen Tutorials und Büchern behandelt wird. Python besitzt eine extrem hohe Relevanz in der kommerziellen Softwareentwicklung. Auch in der Hochschulausbildung, etwa in den Fachbereichen Informatik, Mathematik, Natur- und Ingenieurswissenschaften, dominiert Python neben Java.

Seit 2001 gibt es die gemeinnützige Python Software Foundation (PSF), welche die Rechte am Python-Code, und damit an der Programmiersprache Python, besitzt. Sie betreibt auch die Website www.python.org, über welche Python bezogen werden kann.

 

Grundlegende Konzepte

Python ist grundsätzlich eine imperative Programmiersprache, die jedoch weitere Programmierparadigmen, wie die funktionale oder objektorientierte Programmierung, unterstützt.

Python-Programme werden in Form von Textdateien, also im Quellcode, weitergegeben. Insofern ist Programmiersprache Python eine Skript-Programmiersprache. Der Python-Interpreter, der diese Skripten liest, interpretiert und ausführt, besitzt jedoch einen integrierten Compiler. Der übersetzt den Programmcode in einen Bytecode. Dieser ist dem von Java bekannten Bytecode nicht unähnlich. Dieser Bytecode ist kein Maschinencode. Er ist es aber letztlich, den der Python-Interpreter tatsächlich ausführt. Der compilierte Bytecode ist sehr viel performanter als es das zeilenweise Lesen, Interpretieren und direkte Ausführen des Quellcodes wäre. Damit ist Python teilweise auch eine compilierte Programmiersprache. Im Gegensatz zu echten und reinen Compiler-Sprachen, wie beispielsweise C/C++, die in plattformspezifischen Maschinencode übersetzt werden, den der Programmierer für jede gewünschte Plattform erstellen muss, haben wir es als bei der Programmiersprache Python ausschließlich mit dem Quellcode unserer Programme zu tun. Das bedeutet, wir können die konkrete, an eine Plattform angepasste, Arbeitsweise des Python-Interpreters in der Regel außer Betracht lassen. Ein paar wenige Konventionen beachtend, können Python-Programme weitergegeben und auf jedem Computer ausgeführt werrden, auf dem ein geeigneter Python-Interpreter installiert ist, egal um welche Hardware und um welches Betriebssystem es sich dabei konkret handelt. Python-Programme sind plattformunabhängig.

Batteries included

Während viele Programmiersprachen nur mit rudimentären Bibliotheken ausgeliefert werden, die die Einsatzmöglichkeiten der Sprache erweitern und deren Nutzung einfacher und komfortabler machen, wird Python grundsätzlich mit einer extrem umfangreichen und mächtigen Bibliothek ausgeliefert. So biete Python Features zur Netzwerkkommunikation, zur Erstellung grafischer Benutzeroberflächen und vieles andere mehr, ohne zusätzliche Bibliotheken beschaffen und installieren zu müssen. Aus diesem Grund sagt man über Python: Batteries included. Dennoch gibt es nahezu zahllose, jedenfalls tausende, von Modulen und Bibliotheken, mit denen die Fähigkeiten der Programmiersprache Python einfach erweitert werden können, sollte der Standard doch einmal nicht ausreichen.

Software-Architektur der Programmiersprache Python

Python API Konzepte Erweiterbarkeit
Die API der Programmiersprache Python gewährleistet eine einfache Erweiterbarkeit sowie Nutzung von Python in C-Programmen

Der Hintergrund für die vielen verfügbaren Module und Bibliotheken für die Programmiersprache Python ist deren Flexibilität und einfache Erweiterbarkeit. Es war Guido van Rossum ein besonderes Anliegen, es dem Programmierer so einfach wie irgend möglich zu machen, die Standardbibliothek von Python beliebig erweitern zu können. Als letztlich interpretierte Programmiersprache bietet Python nur eingeschränkte Möglichkeiten für die maschinennahe Programmierung. Maschinennahe und/oder extrem zeitkritische Routinen können daher problemlos in C geschrieben und mit Python genutzt werden. Das ermöglicht die Python API, eine Schnittstelle zur Erweiterung von Python sowie der Nutzung von Python als integrierte Skriptsprache in anderen Programmen, die beispielsweise in C/C++ geschrieben sind. Der Texteditor Sublime Text macht davon beispielsweise regen Gebrauch, um auch ein Beispiel zu nennen. Dessen Plugins sind vornehmlich in Python geschrieben, die dann im Editor, der deren Laufzeitumgebung darstellt, ausgeführt werden und so dafür sorgen, den Editor nahezu beliebig konfigurieren und um Funktionen erweitern zu können.

Lizenz

Python steht unter der PSF-Lizenz, einer eigenen Lizenz der Python Software Foundation. Diese macht Python nicht nur frei verfügbar, sie gestattet es auch, Python lizenzkostenfrei in andere Applikation einzubetten und auszuliefern, ohne dabei den Quellcode der eigenen Anwendung offenlegen zu müssen. Die Lizenz ist damit deutlich weniger restriktiv als die GNU General Public License, die ansonsten die Open-Source-Software dominiert. Diese Politik des freien Umgangs mit Python mag wesentlich zur Attraktivität von Python im kommerziellen Umfeld beigetragen haben.

Einsatzmöglichkeiten

Die schlechte Nachricht zuerst: Als letztlich interpretierte Programmiersprache ist die Programmiersprache Python nicht geeignet, systemnahe Anwendungen, Gerätetreiber oder gar ganze Betriebssysteme damit zu implementieren. Die gute Nachricht ist: Für quasi alle anderen Anwendungen ist Python hervorragend geeignet.

Mit Python lassen sich kleine und große Anwendungen, mit und ohne grafische Benutzeroberfläche schreiben. Mit Python geschriebene Anwendungen können als klassische Desktop-Anwendungen auf einem PC oder Notebook ausgeführt werden. Aber auch im Bereich der eingebetteten Anwendungen, auf Smartphones und ähnlichen Geräten, sind Python-Programme ausführbar, wenn es für diese Geräte einen Python-Interpreter gibt. Auf dem Raspberry PI ist Python quasi die Standard-Programmiersprache.

Neben diesen klassischen Anwendungen können in Python auch Web-Anwendungen implementiert werden, die serverseitig ausgeführt werden.

Aufgrund seiner vergleichsweise einfachen Erlernbarkeit wird Python vielfach in der Ausbildung eingesetzt. Schulen und Universitäten nutzen Python, neben Java, als Einstiegsprogrammiersprache, um die Lernenden an die Programmierung heranzuführen.

Gegenüber reinen Compiler-Sprachen hat Python ein Performance-Handikap. Python-Programme sind langsamer als gleichartige Programme, die in C/C++ geschrieben sind. Für die meisten Anwendungen ist die Geschwindigkeit von Python jedoch bei weitem hinreichend.

Anmerkung: Der gewählte Algorithmus zur Lösung eines Problems ist für die Performance wesentlich bedeutsamer als die Wahl der Programmiersprache zu dessen Implementierung!

Auch in Anwendungsfällen, in denen die Programmiersprache Python den gestellten Anforderungen an die Geschwindigkeit tatsächlich nicht genügt, wird Python vielfach in der Entwicklungsphase verwendet. Python dient dann als Programmiersprache für das Rapid Prototyping. Anhand von Python-Implementierung werden Ideen und Algorithmen ausprobiert und getestet. Später werden die so erstellten Programme dann nach C/C++ oder einer anderen Programmiersprache umkodiert.

Die größten Nutzer der Programmiersprache Python

Viele Große Unternehmen setzen Python ein, um beispielsweise ihre Web-Services anzubieten. Zu den 7 größten und bekanntesten Unternehmen gehören:

  1. Instagram (Social Media, Bilder online teilen)
  2. Google (Suchmaschine)
  3. Spotify (Musik-Streaming)
  4. Netflix (Video-Streaming)
  5. Uber (Mitfahrservice)
  6. DropBox (Cloud-Service für Dateiablage)
  7. Pinterest (Social Bookmarking, Fotos)

 

Schreibe einen Kommentar