perlunity.de - PERL | JAVASCRIPT | PHP | MySQL | APACHE



#!/COMMUNITY

Members: 5374
davon online: 1
weitere User: 28
Click for quality!




10.02.2012 / 20:15

Community-Member werden   |   Paßwort vergessen   |   OnlineMonitor (1) Wer ist online ... OnlineMonitor starten !
     

 

Home


PERLscripts


PHPscripts


JAVAscripts


Hilfreiches


Links2www


Newscenter


Community


Interna




Community  »  Web-Entwicklung sonstiges zur Themenübersicht Themensuche Themenansicht in Thread-Modus


BeitragSuchmaschine: PHP vs Perl
Seitenanfang
Ich habe derzeit ein Projekt am Laufen, in dem ich einige Dateien (PDFs, Präsentationen, etc) in eine ordentliche Struktur in Websiteform bringen soll und auch eine kleine Suchmaschine einbauen möchte.
Nun habe ich kaum Erfahrung in PHP und keine in Perl und mir stellt sich die Frage, welche der beiden Sprachen ich nun am besten verwenden sollte. (Auch wenn ich nicht unbedingt eine objektive Antwort in einem Perl-Forum erwarte ^^ )
Für PHP spricht vom derzeitigen Standpunkt die Spezialisierung in Webprogrammierung sowie die einfache Erlernbarkeit. Zudem denke ich fast, dass ich für PHP leichter Scripts finden werde, die mir die Programmierung einer Suchmaschine erleichtern werden.
Im Gegensatz spricht für Perl die gute Fähigkeit mit Texten umzugehen, was zu einem eventuellen Vorteil werden könnte.
Nun stehe ich natürlich vor einem Problem: Welche Sprache ist sinnvoller? Es geht wie gesagt um ein reines Webprojekt.

Eine weitere Frage wäre, falls die Entscheidung auf PHP fallen sollte: Zu PHP hätte ich noch ein Buch ("PHP4 IT-Tutorial" von Bill McCarty) hier, dass sich mit Version 4 beschäftigt. Ist dieses Buch noch zu empfehlen, oder hat sich beim Versionswechsel derart viel geändert, dass ich diese eigentlich eher nicht verwenden sollte, sondern mir aktuelles Material holen sollte?

Vielen Dank für die Hilfe.

Datum: 04.05.2006-15:38

Beitragre: Suchmaschine: PHP vs Perl
Seitenanfang
Hallo,

es stellt noch die Frage, ob Du überhaupt programmieren kannst.

Wenn nicht und Du auch sonst keine Erfahrung hast, nimm PHP - das ist leicht und Du findest viele Infos im Netz.

Mfg
Marky

Datum: 05.05.2006-10:55

Beitragre: Suchmaschine: PHP vs Perl
Seitenanfang
Nein nein, das ist nicht das Problem.
Programmieren ist mein Job ^^

Datum: 05.05.2006-22:09

Beitragre: Suchmaschine: PHP vs Perl
Seitenanfang
Hi Danie,

obwohl ich persönlich dazu neige Perl einzusetzen, versuche ich meinen Beitrag so objektiv wie möglich zu gestalten. ;-)

Nach meiner Erfahrung ist Perl, gerade mod_perl wie ich las, wesentlich schneller als das PHP Modul. Du erwähntest, dass eine Suchmaschine implementiert werden soll? Es ist in der Tat so, dass es dem Programmierer unter PHP sehr leicht gemacht wird. Es gibt eine ganze Reihe Routinen bzw. Funktionen, die der Coder nur benutzen brauch. Oftmals hast Du auf die Performance dann aber gar keinen Einfluss. Außerdem fällt auf, dass diese immer wieder überarbeitet werden, bzw. neue Funktionen auftauchen, die das Selbe tun.

Ein interessanter Artikel dazu: http://tnx.nl/php

Auch was die Prozess-Struktur angeht, würde ich Perl den Vorzug geben. Wenn ich mir mit PHP eine Falle (Loop) gestellt habe, dann muss ich warten bis die maximale Ausführungszeit eines Skriptes erreicht ist. Wenn das Teil dann auch noch anfängt, sich meinen Speicher einzuverleiben, dann habe ich den Salat. Da ein Perlskript aber immer einen eigenen Prozess startet, kann ich den in der Shell einfach killen. Ich muss aber dazu sagen, dass ich nicht sicher weiß, ob sich das mit mod_perl auch so verhält, da ich es noch nicht eingesetzt habe.

PHP und Perl sind syntaktisch in der Tat sehr ähnlich, deshalb würde ich sagen, dass es von Lernaufwand keinen großen Unterschied macht. Jedoch ist unter Perl eher der Geist des Programmierers gefragt, was mich persönlich eher reizt. In einigen Fällen wirst Du unter PHP eine Funktion finden, die Dein Problem löst, wohingegen Du das Problem unter Perl selbst lösen musst.

In der Verarbeitung von regulären Ausdrücken, kann PHP es meiner Ansicht nach mit Perl nicht aufnehmen. Was ich mir da machmal einen abgebrochen habe. Da habe ich drei Stunden gesessen, was ich unter Perl in 5 Minuten gemacht habe. Ich muss aber dazu sagen, dass ich Perl zuerst gelernt hatte.

Auch finde ich die Umsetzung des Referenzierens, bzw. Dereferenzierens in Perl wesentlich besser durchdacht. Man hat hier meiner Ansicht nach weitaus mehr Möglichkeiten. Ich kann sogar Referenzen auf komplette Subfunktionen setzen. Ich bin mir nicht sicher, ob das unter PHP auch so einfach ist.

Stichwort: Datenstrukturen.
Was Perl klar und übersichtlich aufteilt (Arrays, Hashes) löst PHP alles mit Arrays, bzw. assoziativen Arrays. Ich denke das ist Geschmackssache, für mich war das am Anfang sehr verwirrend. Hier kommen unter Perl jetzt die Referenzen ins Spiel, womit sich seit 5.006 sehr komplexe Datenstrukturen durchaus übersichtlich erzeugen lassen (Array of Hashes, Hash of Hashes oder umgekehrt).

Eine Stärke von PHP ist das Includieren. Hier hat der Perlprogrammierer ganz klar den Nachteil. Perl geht hier eher den Weg der Objektorientierung. Sprich Du programmierst Objekte, bzw. Klassen, die in Packages gepackt werden, damit Du zur Laufzeit Instanzen darauf erzeugen kannst. Das Ganze ist für mich schon sehr C ähnlich. Unter PHP kannst andere PHP Skripte einfach Einbinden und fertig. Der komplette Code ist dann voll verfügbar. Absichern lässt sich das auch recht simpel, indem im aufrufenden Skript eine Konstannte definiert wird. Im includierten Skript kannst diese dann abfragen, und nötigenfalls exiten.

Die Verarbeitung von Signalen (POSIX) ist in beiden Sprachen recht gut implementiert. Da schenken sie sich also nichts.

Dann hätten wir da die Möglichkeit C, bzw. AssemblerCode in die Skripte einzubinden. Gerade hier sehe die einen sehr großen Vorteil Perls gegeüber PHP. Es ist nun einmal so, dass Hochsprachen wesentlich restriktiver mit Datentypen umgehen. Auch muss Speicher nicht reserviert, bzw. alloziert werden. Gerade hierdurch werden Perl oder PHP niemals an die Performance von C heranreichen zumal auch noch das aufsührende Organ (Interpreter oder Modul) dazwischen hängt. Diesem Umstand kann Rechnung getragen werden, indem an heiklen Stellen direkt C eingesetzt wird. Dann kompilierst Du die Anwendung und wirst feststellen, dass die Bereiche die in C geschrieben wurden wirklich sehr schnell sind.

Abschließend müssen dann natürlich die CPAN Module erwähnt werden. Eine derartige Plattform an OpenSource habe ich sonst in der Art noch nicht gefunden, wenn ich freshmeat und sourceforge mal außer Acht lasse. Hier geht es ja in erster Linux meist um Unix/Linux Software. Solltest Du unter Windows entwickeln wollen (Apache/ActivePerl), dann kannst Du auf deren Server die PPMs ziehen und sehr simpel nachinstallieren. Ich als Debianer habe es sogar noch einfacher, weil die gängigen Module schon im Repository enthalten sind. Ich installier die nach und Ruh' iss.

Geh' einfach mal schauen:
http://search.cpan.org/
http://www.activestate.com/

Was Dein PHP Buch angeht, kann ich nur soviel sagen: Ich habe dazu gar kein Buch gebraucht. Es gibt im Netz so viele Ressourcen zu PHP und Perl. Also wer sich da Bücher kauft, schmeißt nach meiner Ansicht das Geld zum Fenster hinaus. Das lässt sich besser investieren.

So jetzt hoffe ich mal, dass es trotz der Perl-Lastigkeit noch objektiv war und wünsche viel Erfolg bei der Bewältigung Deiner Herausforderung.

-uw

Datum: 06.05.2006-21:15

-






-
-