Soll ich Python oder C für einen Sprachübersetzer verwenden?

421
user3242139

Ich plane, einen Sprachübersetzer für meine eigene Sprache zu schreiben. Die Sprache funktioniert ähnlich wie PHP, da sie von einem Webserver ausgeführt wird und der Code im Browser ausgeführt wird.

Ich weiß, dass C offensichtlich schneller ist als Python, aber ich würde gerne wissen, wie merklich wäre der Geschwindigkeitsunterschied aus Endbenutzersicht? Ich mag Python, weil es mir erlaubt, meine Sprache schnell zu erstellen. Gibt es auch eine Möglichkeit, einen Teil davon in Python zu schreiben und die Codegenerierung etwas anderem zu überlassen, wie LLVM oder C?

Danke, Francis

0
Diese Frage scheint nicht zum Thema zu sein. Wir können Ihnen nicht sagen, welche Sie verwenden sollten. Nur Sie wissen, was Ihre Anforderungen sind. Ramhound vor 10 Jahren 0
Würden Sie als Faustregel jedoch C oder Python verwenden? user3242139 vor 10 Jahren 0
Ich würde die beste Sprache für den Job unter Berücksichtigung meiner Anforderungen verwenden. Die Implementierung einer dieser beiden Methoden wäre auf meinem Skill-Level trivial. Ich stimme nicht zu, dass eine C-Lösung "offensichtlich" schneller als eine Python-Lösung wäre. Ramhound vor 10 Jahren 1
Wenn Ihre Ressourcen nicht extrem begrenzt sind, wird der Endbenutzer wahrscheinlich keinen großen Unterschied zwischen den beiden Optionen feststellen. Im Allgemeinen sowieso nicht. nerdwaller vor 10 Jahren 0
Sollte auf Programmers.SE sein, aber dies ist keine Option zum Verschieben. Scott vor 10 Jahren 0

1 Antwort auf die Frage

1
headkase

Beide. Python ist eine Rapid Prototyping-Sprache, daher sollte Ihre erste Iteration des Programms darin sein. Mit Python können Sie viel schneller aufstehen und laufen, als wenn Sie Minutae in C drehen müssten. Sobald Sie ein funktionierendes Python-Programm haben, sind Sie vielleicht fertig. Wenn jedoch einige Teile des Programms nicht schnell genug sind - und nur die Profilgeschwindigkeit, wenn Ihre Python-Implementierung abgeschlossen ist, ist dies eine Verschwendung -, können nur die zu langsamen Teile in C für Geschwindigkeit erneut implementiert und dann von Python aufgerufen werden. Python lässt Sie ohne Probleme C anrufen.