Frage:

Welche Script-Sprache ist besser: Perl oder Python?
Zum Beispiel: "Ich habe vorher nur PHP programmiert und möchte für die Server-Administration eine Scriptsprache lernen."
Oder: "Hab gehört Python soll von der Performance her nicht zu schlagen sein, aber wie sieht es mit den API's und Funktionen aus?"

Antwort:

Vom Funktionsumfang gleichen sich beide Sprachen ziemlich. Perl gibt es länger und ist (häufigere Ansicht) leichter. Dadurch gibt es auch mehr Tools, Module, Scripte, Bücher, etc. für und in Perl.
(Nachteil: man hat zu oft die Qual der Wahl.

Die Performance macht sich durch die Compile-Zeit bemerkbar. Während Perl den Byte-Code nicht zwischen speicher, hat Python von Hause aus einen Compiler-Cache. D.h. wenn Du größere Scripte häufiger hintereinander startest hast Du dadurch einen Vorteil. Falls Du eher kleinere Scripte hast oder, wie im Fall einen Crawlers, ein Script welches fast dauerhaft durchläuft nimmt sich das nichts.

Ein wesentlicher Punkt bei dauerhaft laufenden Scripten ist der Garbage-Collector. Also der Teil der Speicher wieder frei gibt, wenn er nicht mehr gebraucht wird. Hier ist Python besser/sicherer, da alle Variablen klar deklariert werden und ihren festen Namensraum haben. In Perl ist es etwas komplizierter und daher auch nicht so sicher. Hier wird Speicher unter gewissen Umständen nie frei gegeben.
Klingt jetzt aber nur schlimmer als es ist. In der Realität handelt es sich nur um kleine Speicherbereiche.

Je nach Kenntnisstand in Programmiersprachen kann ich folgende Empfehlung abgeben:
Wenn Du schon C/C++ oder Java kannst, versuch es mal mit Python.
Wenn Du bisher nur PHP programmiert hast, wirst Du in Perl deutlich schneller voran kommen.

Kategorien:

Stichwörter:

script · scriptsprache · scripting · perl · python · vergleich · besser · performance · java · compiler · garbage · collector · speicher ·