19.1. Implementierungen#

Welche Befehle Ihre Maschine genau ausführt, hängt mit den Interpretationen zusammen, die Ihr Programm in Maschinencode überführen. Die Sprache selbst legt zwar die Semantik fest, jedoch nur im Kontext der Sprache selbst. Durch welche Maschinenbefehle eine Addition oder Multiplikation auf Ihrer konkreten Maschine realisiert wird, legt die Sprache Python nicht fest. Das ist die Aufgabe des Zusammenschlusses an Interpretationen, die wir als Implementierung von Python bezeichnen.

Python Implementierung

Als Python-Implementierung bezeichnen wir das was die Semantik der Sprache auf einer Maschine realisiert.

Streng genommen gibt es unterschiedliche Implementierungen von Python. Zum Beispiel:

  • CPython (Referenzimplementierung von Python)

  • IronPython (Python realisiert durch die .NET-Platform)

  • Jython (Python realisiert durch die Java Virtual Maschine (JVM))

  • PyPy (Eine performantere Python-Implementierung mit einem Just-In-Time-Übersetzer (JIT), wird allerdings von nur wenigen Modulen unterstützt)

  • Stacklass Python (Äbgeändertes CPython, welches die Funktionsweise des C-Call-Stacks abändert und Microthreads unterstützt, jedoch weiterhin durch den Global Interpreter Lock behindert wird)

  • MicroPython (Python was auf Microcontrollern läuft)

Wenn wir aber im allgemeinen von der Python-Implementierung sprechen meinen wir die bekannteste von allen Implementierungen und das ist CPython. Auch wir haben und werden ausschließlich diese Implementierung in diesem Kurs verwenden.