Basissprache von Python

Antworten:

120

Sie können nicht sagen, dass Python in einer Programmiersprache geschrieben ist, da Python als Sprache nur ein Satz von Regeln ist (wie Syntaxregeln oder Beschreibungen der Standardfunktionalität). Wir könnten also sagen, dass es in Englisch geschrieben ist :). Die genannten Regeln können jedoch in einigen Programmiersprachen implementiert werden. Wenn Sie also eine Zeichenfolge wie "import this" an das Programm "interpreter" senden, erhalten Sie "Zen of Python" zurück.

Da die meisten modernen Betriebssysteme in C geschrieben sind, sind Compiler / Interpreter für moderne Hochsprachen auch in C geschrieben. Python ist keine Ausnahme - seine beliebteste / "traditionelle" Implementierung heißt CPython und ist in C geschrieben.

Es gibt andere Implementierungen:

  • IronPython (Python läuft unter .NET)
  • Jython (Python läuft auf der Java Virtual Machine)
  • PyPy (Eine schnelle Python-Implementierung mit einem JIT-Compiler)
  • Stackless Python (Zweig von CPython, der Mikrothreads unterstützt)
Roman Bodnarchuk
quelle
4
Beachten Sie, dass PyPy in RPython geschrieben ist.
Marcin
35

Die Quellen sind öffentlich . Python ist in C geschrieben (die Standardimplementierung heißt CPython).

wRAR
quelle
15

Python ist in Englisch geschrieben. Es gibt jedoch mehrere Implementierungen:

Gandaro
quelle
2
Eigentlich ist PyPy in RPython
Jakob Bowyer
Ich weiß es nicht, aber CPython ist irgendwie die langsamste Implementierung. blog.dhananjaynene.com/2008/07/…
Dewsworld
@JakobBowyer Sie können PyPy mit CPython ausführen, es ist also völlig richtig zu sagen, dass es in Python geschrieben ist. Die Tatsache, dass aus Leistungsgründen nur eine Teilmenge von Python verwendet wird, ist eher ein Implementierungsdetail (aber ein sehr interessantes und umwerfendes Detail).
Duncan
1
Tatsächlich kann Python in vielen Sprachen geschrieben (oder sogar gesprochen) werden. Zum Beispiel: الثعبان
Stephen C
Ihr Genie @StephenC
El-Mo
6

Es ist in C geschrieben, es wird auch CPython genannt .

Neizod
quelle
5

Sie erhalten eine gute Idee, wenn Sie Python aus dem Quellcode kompilieren. Normalerweise werden gccdie *.cDateien kompiliert


quelle
0

Um einige der anderen guten Antworten zu ergänzen und neu zu formulieren:

Die Spezifikation für Python (Frage) ist in Englisch geschrieben, könnte aber in einer formalen Semantik geschrieben werden , wie es Standard ML und Schema sind. Siehe Programmiersprachenspezifikation .

Es gibt Implementierungen von Python in vielen Sprachen, wie von Gandaro festgestellt, von denen die schnellste überraschenderweise nicht die ursprüngliche CPython ist, die in C geschrieben ist.

nealmcb
quelle
meinst du "überraschend nicht" oder "nicht überraschend"?
Nekromant
@necromancer Ich meine das erstere, dh ich bin überrascht, dass die schnellste Implementierung nicht die Referenzimplementierung in C ist. Aber ich nehme an, es ist nicht überraschend, dass es Leute gibt, die die Leistung verbessern können, da dies nicht unbedingt der Fall ist müssen sich mit anderen Einschränkungen befassen, die die Referenzimplementierung erfüllen möchte.
Nealmcb
1
Ich würde denken, dass die Sprache der Implementierung weniger relevant wäre als (a) die Raffinesse eines dynamischen Compilers, der Python-Quellen in Maschinencode konvertiert. Dieser Compiler kann in jeder Sprache sein. Was zählt, ist die Qualität der Algorithmen; (b) den Maschinencode bestimmter Bibliotheken. Python ist berühmt für numerische Bibliotheken, die nicht in Python geschrieben, sondern lediglich in die Umgebung "eingeklebt" sind. und (c) die Benchmark; Bestimmte Programme können in einer Implementierung schneller ausgeführt werden als andere.
Nekromant