
Zu Dylan: Hatte das nicht ursprünglich Lisp ähnliche Syntax?
Um ganz exakt zu sein, ist CPython eigentlich ein "kompilierender Interpreter"; er kompiliert allerdings Python-Quellcode (PY) in Python-Bytecode (PYC). Aber gesucht ist wahrscheinlich eine Lösung um Pythonprogramme ohne Interpreter auszuführen. Solche Lösungen sind [WWW] py2exe, [WWW] Installer, [WWW] cx_Freeze. Einen anderen Ansatz verfolgt Python2C oder [WWW] PyPy.
Zwei Punkte: In Python sind Alles Objekte. Python arbeitet mit Referenzen.henning hat geschrieben:Mag sein, aber man fühlt sich trotzdem sicherer, wenn man ein Projekt startet, dessen Umfang man vorher schlecht abschätzen kann, wenn man weiß, dass man seinen Code einfach (durch das hinzufügen von type-definitionen) schneller machen kann und das Rad nicht nochmal stellenweise nach C portieren muss ,-)
(auch wenn mir pythons Geschwindigkeit bis jetzt immer gereicht hat)
Wenn die Geschwindigkeit immer gereicht hat, dann verstehe ich den Wunsch nach einem Compiler nicht. In den meisten Fällen wo man wirklich etwas schneller machen möchte bringt das neuschreiben in C nur recht wenig, während man mit einem besserem Algorithmus oder einer besseren Datenstruktur oft viel mehr herausholen kann. Und ein Programm in Python umstrukturieren geht wesentlich einfacher als in C.henning hat geschrieben:Mag sein, aber man fühlt sich trotzdem sicherer, wenn man ein Projekt startet, dessen Umfang man vorher schlecht abschätzen kann, wenn man weiß, dass man seinen Code einfach (durch das hinzufügen von type-definitionen) schneller machen kann und das Rad nicht nochmal stellenweise nach C portieren muss ,-)
(auch wenn mir pythons Geschwindigkeit bis jetzt immer gereicht hat)
Bei solchen Sachen, wo es nur auf die Rechenpower ankommt, z.B. bei einer Pixelbasierten kollisionserkennung von zwei Bitmaps, da hilft es eben auch nicht, einfach die Daten als statisch zu markieren oder die sStruktur zu ändern, um mehr Performance zu bekommen. Bei so was nimmt man nen Profiler und wenn man die richtigen stellen gefunden hat, dann nimmt man PyRex, C oder Assembly (wenn man so verrückt ist, dann als inline Assembly von C...).BlackJack hat geschrieben:Wenn die Geschwindigkeit immer gereicht hat, dann verstehe ich den Wunsch nach einem Compiler nicht. In den meisten Fällen wo man wirklich etwas schneller machen möchte bringt das neuschreiben in C nur recht wenig, während man mit einem besserem Algorithmus oder einer besseren Datenstruktur oft viel mehr herausholen kann. Und ein Programm in Python umstrukturieren geht wesentlich einfacher als in C.
Weil nicht jeder Python installiert hat? Eine echt complilierte EXE ist auch nicht wirklich groß.ProgChild hat geschrieben:Aber warum soll man sich mit nen Compiler rumschlagen, wenn man nur ne kleine .py Datei weiter geben muss...
Das kannst du aber nicht aus der Performance herraus begründen. Klein und Groß sind sowieso relativ und da heute sowieso fast jeder nen CD Brenner oder einen Internetanschluss hat, ist es nicht besonders schwer Jemandem Python mitzuliefern.jens hat geschrieben:Weil nicht jeder Python installiert hat? Eine echt complilierte EXE ist auch nicht wirklich groß.ProgChild hat geschrieben:Aber warum soll man sich mit nen Compiler rumschlagen, wenn man nur ne kleine .py Datei weiter geben muss...
Es fragen immer wieder Leute danach wie man eine EXE Datei bekommt, von daher ist der Wunsch nach einem Compiler schon da...