Perl vs PHP

Hallo,

ich habe mal eine Allgemeine Frage zu Perl:

noch vor ein paar Jahren waren die meiesten Web-Anwendungen in Perl geschrieben.

Vor allem die großen Webforen (UltimateBB und DCForum) gab es in Perl.

Was ist eigentlich der Grund, weshalb z.B. WebBoards fast nur noch unter PHP betrieben werden?

Kann PHP „besser“ mit SQL oder gibt es da andere Gründe?

Ich habe mich früher etwas mit Perl beschäftigt, weil ich eine größere Website hatte und dort einige Skripte anpassen musste.

Jetzt möchte ich wieder etwas im Web aufziehen (hatte jetzt ca. 4 Jahre kaum Kontakt mit der Web-Programmierung) und bin jetzt ratlos, ob Perl „das Bessere“ ist oder ob ich nun zu PHP wechseln muss.

Grüße

Michael

Hallo,

Was ist eigentlich der Grund, weshalb z.B. WebBoards fast nur
noch unter PHP betrieben werden?

Kann PHP „besser“ mit SQL oder gibt es da andere Gründe?

Ich selbst programmiere kaum mit PHP, aber ich probiere es trotzdem mal. PHP macht es einfacher, HTML zu schreiben und da ein bisschen Funktionalität „reinzuklatschen“. Mit Perl muss man entweder viel mit Templates arbeiten (was nicht jedermanns Sache ist), oder sehr viel html in den Quellcode reinschreiben - das ist unschön.

Der wichtigste Punkt dürfte aber die Verfügbarkeit sein: sehr viele Webspaceanbieter bieten (fast) kostenlos PHP an, nur recht wenige perl. Das liegt daran, dass sie bei perl Angst vor performance-Einbussen haben. Wenn man bei Perl die Schwächen statt der Stärken benutzt, kann das auch mal vorkommen…

Jetzt möchte ich wieder etwas im Web aufziehen (hatte jetzt
ca. 4 Jahre kaum Kontakt mit der Web-Programmierung) und bin
jetzt ratlos, ob Perl „das Bessere“ ist oder ob ich nun zu PHP
wechseln muss.

Kein Mensch muss müssen :wink:.
Schreib doch einfach, was du konkret machen willst, vielleicht können wir dann genauer weiterhelfen.

Es gibt übrigens auch Alternativen zu Perl und PHP: Ruby (ev. on Rails) und Python gibt es auch noch.

Grüße,
Moritz

Hallo Michael,

ich habe mal eine Allgemeine Frage zu Perl:
noch vor ein paar Jahren waren die meisten
Web-Anwendungen in Perl geschrieben.

Naja, die Zusammensetzung der Web-Anwendungsschreiber
hat sich ein wenig verändert, denke ich.

Was ist eigentlich der Grund, weshalb z.B. WebBoards fast nur
noch unter PHP betrieben werden?

Möglicherweise weil ‚pro Zeiteinheit‘ immer neue
Boards hinzukommen - welche dann überwiegend auf
„Fertigpakete“ auf PHP-Basis zurückgreifen.

Kann PHP „besser“ mit SQL oder gibt es da andere Gründe?

Das kann es nicht, aber die Anfangshürden sind
bei PHP (imho) deutlich niedriger. Und ausserdem
ist PHP das derzeitige ‚Klingelwort‘.

Ich habe mich früher etwas mit Perl beschäftigt, weil ich eine
größere Website hatte und dort einige Skripte anpassen musste.
Jetzt möchte ich wieder etwas im Web aufziehen (hatte jetzt
ca. 4 Jahre kaum Kontakt mit der Web-Programmierung) und bin
jetzt ratlos, ob Perl „das Bessere“ ist oder ob ich nun zu PHP
wechseln muss.

Das kommt darauf an. Die Funktionalität bei PHP kommt
mir ein wenig sehr ‚ad hoc‘ vor, wenn man sich mit beiden
beschäftigt, merkt man schnell, was PHP tatsächlich ist:
‚mehrfach chlorgebleichtes Perl‘ :wink:.

Bei Perl besteht (aufgrund der inhärenten syntaktischen
Komplexität) immer die grosse Gefahr, dass man mit
seinem Perl-Projekt zusammen zu Grunde geht (oder man
überlebt es und ist ab jetzt unverwundbar :wink:

Meiner Meinung nach haben die beiden [P]erl-Ableger
([P]HP, [P]ython) auf unterschiedliche Weise versucht,
das gute alte gefährliche Perl auch dem ‚Normalsterblichen‘
zuträglich zu machen.

Was Du jetzt machen sollst? Kommt darauf an, was
Du vorhast. PHP lernt man ‚on the fly‘, während
man sein Projekt fortsetzt. Bei Perl möchte man
Perl besser schon vorher gekonnt haben
(aber das weisst Du ja :wink:.

Ich persönlich würde für die meisten Sachen eher Perl
vorziehen, einfach weil ich sowieso immer gerne
Datenstrukturen auf Pointern und Referenzen
(von C/C++ kommend) aufbaue. Da fühlt sich
Perl recht ‚natural‘ an. Auch das Klassen-
konzept (Packages) ist simpel und effektiv.

Und

 $\> perl -MCPAN -e shell

ist ein auch nicht zu verachtender Punkt.

Ausserdem: Perl ist immer noch (und wird es auch noch
lange sein) recht verbreitet, was man von Python
und Ruby nun nicht gerade sagen kann.

Ein Tipp für den Wiedereinstieg in Perl:
http://www.amazon.de/exec/obidos/ASIN/0596001738/qid…
(Pflichtliteratur! :wink:

Grüße

CMБ

Hallo Moritz

Mit Perl muss man entweder viel mit Templates arbeiten
(was nicht jedermanns Sache ist), oder sehr viel html in
den Quellcode reinschreiben - das ist unschön.

Was ist mit

 ...
 print 
 1. $abc 
 2. $def 
 
HTML\_END

oder

 ...
 ...
\_\_DATA\_\_

 Hello World 

Es gibt übrigens auch Alternativen zu Perl und PHP:
Ruby (ev. on Rails) und Python gibt es auch noch.

Wie sieht es mit der Hoster-Situation
aus. Gibt es da aktuelle Listen für
Deutschland?

Grüße

CMБ

uups, Perl-Ableger?
Hallo,

eine kleine Korrektur

Meiner Meinung nach haben die beiden [P]erl-Ableger
([P]HP, [P]ython) auf unterschiedliche Weise versucht,
das gute alte gefährliche Perl auch dem ‚Normalsterblichen‘
zuträglich zu machen.

Das muss natürlich heissen „PHP und Ruby“,
denn Python ist ja bekanntlich ein ABC-Ableger :wink:
vgl: http://homepages.cwi.nl/~steven/abc/

Grüße & gute Nacht

CMБ

Hallo,

Was ist mit


print oder



__DATA__

Hello World

Das geht beides, ist aber … clumsy. Wie heisst das auf deutsch? „Hässlich“ kommt schon in die Nähe. Natürlich geht es, aber bei php kann man html-Seiten in php pressen, ohne php zu können. Es ist sozusagen „nativer“.
Mich persönlich stört sowas nicht, aber ich glaube, dass es da vielen anders geht.

Es gibt übrigens auch Alternativen zu Perl und PHP:
Ruby (ev. on Rails) und Python gibt es auch noch.

Wie sieht es mit der Hoster-Situation
aus. Gibt es da aktuelle Listen für
Deutschland?

ist mir nicht bekannt :frowning:

Grüße,
Moritz

Hallo Moritz,

print oder

einstreut, und „unten“ kommt dann ein Block
wie

 use allstuffyouwant.pl
 ma $variable = 21;
 foreach my $solarsystem (@galaxies) {
 ...
 %init\>

rein. Man kann natürlich auch sein
HTML-File mit Blöcken á la

 foreach (@tablerows) {
 ...
%perl\>

garnieren wenn es sein muss.
Aber wie soll man denn sowas sonst lösen?

Grüße

CMБ

HTML und perl/php
Hallo,

Das geht beides, ist aber … clumsy. Wie heisst das auf
deutsch? „Hässlich“ kommt schon in die Nähe. Natürlich geht
es, aber bei php kann man html-Seiten in php pressen, ohne php
zu können. Es ist sozusagen „nativer“.

Hast Du ein kleines Beispiel dafür,
was Du meinst? Meine (wenigen) PHP-
Versuche sahen (nach meinem dafürhalten)
ebenfalls „hässlich“ aus :wink:

Ich denke, wir reden ein klein wenig aneinander vorbei. Was ich meine, ist soetwas:

...

<?php # hier kommen jetzt gan komplexe berechnungen :wink:<br /> echo $ergebnis
 ?\>

Sprich: php ist in HTML eingebettet, bei perl muss man HTML in perl einbetten, also genau umgekehrt. Dass es auch fuer perl Loesungen gibt, die es erlauben, perl in HTML einzubetten ist auch klar, aber das ist halt nicht der Standard bei perl.

Was wäre denn der Idealfall?

use HTML::Template;

oder so… Aber das ist immer eine Frage dessen, wie gross das Projekt ist, ob es sich lohnt, html und die Programmiersprache zu trennen etc.

Ich persönlich arbeite derzeit
in Apache2/mod_perl2/Mason, da sieht es so
aus, dass man z.B. oben „normales“
html hat, in das man solche
Tags wie

oder

einstreut, und „unten“ kommt
dann ein Block
wie

use allstuffyouwant.pl
ma $variable = 21;
foreach my $solarsystem (@galaxies) {

%init>

rein. Man kann natürlich auch sein
HTML-File mit Blöcken á la

foreach (@tablerows) {

%perl>

garnieren wenn es sein muss.
Aber wie soll man denn sowas sonst lösen?

genau soetwas meine ich. Aber du verwendest ja nicht perl, sondern mason und mod_perl bei apache. Es ist also nicht „nativ“ perl.

Aber ich denke, dass diese Diskussion weder uns noch den Rest der Welt weiterbringt…

Gruesse,
Moritz (perlbegeistert *g*)

Wie sieht es mit der Hoster-Situation
aus. Gibt es da aktuelle Listen für
Deutschland?

Sieh mal auf die http://www.webhostlist.de/

Dort kannst du Webhoster genau nach deinen Anforderungen suchen.

Dominic