Wieso Python statt Perl? Wieso Perl statt Python?

Suchfunktion

Erfahrenes Mitglied
Hallo,

allgemeine Frage:

Wieso sollte man Perl Python vorziehen?
Oder andersherum?

Und lohnt es sich eine der Sprachen zu lernen, wenn man bereits PHP-Kenntnisse besitzt?

Wo liegt der Vorteil gegenueber PHP?

(Es geht mir jetzt lediglich um den Bereich Webprogrammierung! Also nicht darum, dass man z.B. keine .exe-dateien aus PHP kompilieren kann oder aehnliches).
Also geht es lediglich darum, welche der Sprachen die besseren Moeglichkeiten bietet und wieso man sie zusaetzlich trotz PHP-Kenntnissen noch erlernen sollte, bzw. was ihr noch fuer Alternativen kennt.
(Java, C, usw. lassen wir mal aussen vor.)


UND:
Bitte keine persoehnlichen Hassorgien gegen eine der Programmiersprachen.. Mir geht's lediglich um den Objektiven unterschied der Sprachen und welche Vor/Nachteile sie gegenueber der anderen Sprache(n) haben.

Danke.
 
Was ich so gelesen hab ich wohl Perl um einiges schneller als PHP.
Ich selbst arbeite aber auch nur mit PHP, kann es also weder bestaetigen noch widerlegen.
Zu Python kann ich Dir leider garnichts sagen.
Ich weiss, dass ein paar Programme die ich nutze in Python geschrieben sind, und das der Kompiliervorgang dort etwas anders ablaeuft als bei "normalen" Linux-Programmen.
Aber darum ging's ja jetzt auch nicht.

Wie gesagt, Perl soll wohl eine gute Ecke schneller sein als PHP.
 
So, hab nochmal geschaut..

Python scheint vom aufbau her 'leichter' zu sein und arbeitet zusaetzlich nach dem prinzip des 'einrueckens', also ohne {}-Klammern, etc..

Beispiel:
Python:
Code:
while 1: 
  buf =index.html fp.read(blocksize) 
  if not buf: break 
  conn.send(buf)
Perl:
Code:
while (1) { 
  $buf = $fp->read($blocksize); 
  if (not $buf)  { last } 
  $conn->send($buf);
}

Allerdings scheint Python einen geringeren Funktionsumfang zu besitzen im vergleich zu Perl.. Und Python scheint um einiges langsamer und CPU-Lastiger zu sein als PHP, im gegensatz zu Perl, welches weitaus schneller und CPU-Freundlicher arbeitet.

Naja ich warte nochmal weiter auf eure Comments.

Bin auch fuer alternativen offen :)
 
Zuletzt bearbeitet:
Python ist imho um einiges Maechtiger als Perl. Wenn ich an die tausend Module denke die es fuer Python gibt... Dass Perl viel schneller ist will ich auch nicht behaupten:

In einer for Schleife von 0 auf 10000 zaehlen...

Python:
real 0m0.839s
user 0m0.044s
sys 0m0.023s

Perl:
real 0m1.694s
user 0m0.015s
sys 0m0.026s

Du siehst, Python ist nicht langsamer. Hier noch ein netter Link:

http://www.sschwarzer.net/python/perlpy_vortrag.html
 
Zum Thema Einruecken haette ich dann noch folgendes:
Auch bei Sprachen welche mit {} (oder Pascal BEGIN und END) arbeiten sollte man aus Gruenden der Lesbarkeit des Codes einruecken.
So kann man einzelne Abschnitte im Code welche z.B. nur unter bestimmten Bedingungen ablaufen sollen leichter erkennen und gegebenenfalls auch beim Lesen leichter ueberspringen wenn sie fuer den aktuellen Zweck gerade uninteressant sind.

PHP:
if ($x==1)
 {
  echo 'bla';
  echo 'blubb';
 }
sieht doch viel ordentlicher aus als
PHP:
if ($x==1)
{
echo 'bla';
echo 'blubb';
}
 
reptiler hat gesagt.:
Zum Thema Einruecken haette ich dann noch folgendes:
Auch bei Sprachen welche mit {} (oder Pascal BEGIN und END) arbeiten sollte man aus Gruenden der Lesbarkeit des Codes einruecken.
So kann man einzelne Abschnitte im Code welche z.B. nur unter bestimmten Bedingungen ablaufen sollen leichter erkennen und gegebenenfalls auch beim Lesen leichter ueberspringen wenn sie fuer den aktuellen Zweck gerade uninteressant sind.

PHP:
if ($x==1)
 {
  echo 'bla';
  echo 'blubb';
 }
sieht doch viel ordentlicher aus als
PHP:
if ($x==1)
{
echo 'bla';
echo 'blubb';
}


Und ich finde...

Code:
if x:
    print "bla"
    print "blubb"

Sieht am schoensten aus ;-)
 
Darum geht's mir ja nicht.
Ich hab ja nichts dagegen wenn eine Sprache vollkommen auf {} verzichtet und ausschliesslich durch Einruecken arbeitet.
Ich bin halt nur der Meinung, dass man grundsaetzlich einruecken sollte, egal bei welcher Sprache.

Viele Gruesse vom Heathrow Airport, London.
 
Fabian hat gesagt.:
Ja, ich weis das es die fuer Perl auch gibt.
Wird nicht in beiden (if x: und if ($x == 1)) geprueft, ob etwas 1 - und somit "TRUE" ist?!
Nein. True ist nicht nur 1, sondern alles über 0. Von daher ist das erste eine Abfrage auf True, und das zweie eine Abfrage auf 1. 1 !== true
 

Neue Beiträge

Zurück