[Cologne-pm] Warum Perl?

cem.sakaryali at easi.de cem.sakaryali at easi.de
Tue Apr 1 10:53:30 CST 2003


Schell vor 19.00 beantworten sonst muessen alle 1 Tag warten 


Michael Lamertz <mike at lamertz.net> schrieb am Tue, 1 Apr 2003 17:34:22 +0200:
> Hey Cem,
> 
> die Reply hier ist in Hektik entstanden, also geniess' das alles mit
> einem wenig Vorsicht...
> 
> On Mon, Mar 31, 2003 at 10:37:33PM +0200, cem.sakaryali at easi.de wrote:
> > Hallo,
> > 
> > Ich wuerde dies nutzen auch etwas Werbung fuer Perl zu machen
> 
>     "Spread the word, Dude!"
> 
> > und moechte dabei kurz auflisten warum als sprache Perl benutzt wurde.
> 
> Na die Frage kannst wohl ausschliesslich Du (bzw. der Programmierer,
> falls jmd. anderes) beantworten :)
> 

"stand in ct, ist ne gute sprache, ja dann habe ich gesagt lernen wird es eben" ist irgendwie nicht so durchdacht klingend. Wo sind den all die
Tabellen... meetings... wird man sich fragen... jetzt muss eben die Begruendung (durchdacht un analysiert) nach der Entscheidung kommen :=)


> > Meine Bitte an euch waere, mir zu helfen diese Auflistung zu erweitern.
> > Also stellt euch die Frage:
> > 
> > Warum Perl und nicht eine andere sprache?
> > 
> > Fuer mich war es
> > - mehr moeglichkeiten als awk
> > - eine durchgehende logic (shell scripte)
> > - frei und platform unabhaengig
> 
> * Auch wenn es immer wieder Irre gibt, die ganze Programme in awk
>   schreiben, so liegt awk's Hauptstaerke doch in der Filterung von
>   Dateien, abhaengig von bestimmten Signalworten.
> 
bei mir war es "wow! open () cool lerne ich"

>   Perl kann das zwar auch (Stichwort 'perl -an'), hoert da aber bei
>   weitem nicht auf.
> 
> * Der Vorteil gegenueber Shell ist die wesentlich hoehere Maechtigkeit.
>   Variablen in Shell zu manipulieren kann einem die Finger brechen (Muss
>   ich mehr sagen als `expr ...` ?!?).  Sobald es an Probleme wie
>   Stringmanipulation geht kommt man ohne Hilfsprogramme (sed/awk) nicht
>   mehr aus.
> 
>   Shell-Functions sind in keinster Weise vergleichbar mit Funktionen in
>   echten Programmiersprachen.
> 
> * Perl ist, durch die starke Integration der Regexp-Engine *extrem*
>   stark im verarbeiten von Textstreams.
> 
> * Wer einmal angefangen hat, seine Datenstrukturen in nested Hashes
>   abzulegen will's niemals mehr anders machen.  Alle anderen Methoden
>   wirken hinterher schwerfaellig.
> 
>     print $mitarbeiter->{Koeln}{Hauptfiliale}{Vertrieb}{Leiter}{Name};
> 
> > mir fehl leider die Erfahrung mit anderen Sprachen. Sodass ich
> > kein Gefuehl habe ob Perl schneller zu lernen ist als andere Spachen.
> > Oder ob man mit Perl schneller programmiert als mit anderen.
> 
> * Perl
> 
>     Der eine oder andere wird jetzt moeglicherweise Einspruch einlegen,
>     aber Grundsaetzlich ist Perl IMO eine schwere Sprache.
> 
>     Das gilt noch nicht fuer Einzeiler, aber sobald's an Referenzen und
>     so'n Kram geht wird's doch recht haarig.
> 
>     "Context" ist in Perl ebenfalls extrem wichtig, und das einem
>     Anfaenger zu vermitteln ist nicht einfach:
> 
>         Wieso gibt
> 
>             print @array;
> 
>         das Array aus und wieso steht hier in $size die Groesse?!?
> 
>             $size = @array
> 
>     Das Gespuer dafuer welcher Context wo greift muss man erst
>     entwickeln, oder immer wieder nachschlagen.
> 
>     Zum Context kommt dann haeufit die Precedence, die teilweise
>     entscheidet in welchem Kontext sich ein Ausdruck befindet...
> 
>     Fazit:  Perl *ist* *nicht* einfach.

jetzt kann ich die fragende Gesichter besser verstehen. 

> 
>     Auf der anderen Seite steht Perl's wirklich ausgezeichnete
>     *englische* Dokumentation.  Sobald man 
> 
>         perldoc perl
>         perldoc perlfaq
>         perldoc perltoc
> 
>     kennt steht einem eigentlich saemtliche notwendige Information auf
>     Knopfdruck zur Verfuegung.
> 
> 
ok gute dok. und bücher, Stets bereite Helfer ;)

>     Ich verweise Anfaenger eigentlich gerne in Richtung Python, da es
>     dort auch ganz gute Einfuehrungen gibt und ich die betreffende
>     Person dann nicht immer am Hals hab'   :)
> 

ueber python stand spaeter etwas in ct. Da hatte ich schon ein Buch und einem Kollegen der Perl doof fand musste dringend geholfen werden :)
 

>     Perl ist eher 'was fuer alte Krieger :)
> 
> 
>     Zu den Vorteilen:
>         
>         Regexp-Engine und Stream-Processing
> 
>         Hashes fuer komplexe Datenstrukturen
> 
>         Schnelle Develop/Test Zyklen, da kein Compilerlauf notwendig.
> 
>         Grosse Auswahl an existierendem Code (CPAN)
> 
>         Maechtige Library, voller Zugriff auf die komplette
>         System-Umgebung und C-Library
> 
> 
> * Python
> 
>     Klar lesbar, allerdings *sehr* verbose.
>     
>     Extrem schnell zu lernen, da Syntax deadsimple.
> 
>         http://www.freenetpages.co.uk/hp/alan.gauld/
> 
>     Objektorientierung ist hier nicht so zwingend wie bei Java, faellt
>     aber sehr leicht beim Schreiben.
> 
>     Einige Leute haben Horror vor dem Whitespace-Handling von Python,
>     aber das hat sich bei mir in der Praxis als unproblematisch
>     herausgestellt.
> 
>     Regexps in Python sehen fuerchterlich aus.
> 
> 
> * Java
> 
>     Muss compiliert werden.
> 
>     "Hello World" in Java ist zu lang und umstaendlich - und das gilt
>     auch fuer *alle* anderen kleinen Utilities die man schreiben will.
> 
>     Sprache und API sind sehr stark verknuepft, so dass man Java
>     schlecht auf ein Minimum reduzieren und dann Deployen kann.
> 
>     Ueberhaupt:  In der Regel braucht man ein eigenes Programm um ein
>     anderes Java-Programm zu starten, da man in der Regel so ca. 1mio
>     Environment-Variablen setzen muss.
> 
>     Java kommt (zumindest bis 1.3) selber nicht legal an das
>     Systemenvironment 'ran und ist somit als Systemsprache fuer mich
>     komplett inakzeptabel.  Diese tatsache ist fuer mich doppelt
>     komisch, da man ohne ein riesen Environment Java-Programme
>     ueberhaupt nicht erst an's rennen bringt.
> 
>     Fast alle Java-Apps die ich kenne liefern ihre eigene Runtime mit
>     aus, weil *niemand* vertraut, dass die korrekte Version bereits
>     installiert ist.
> 
>     Auch wenn die Java-Leute mittlerweile Libs mit "Perl-Regular
>     Expressions" besitzen, ist deren Gebrauch furchtabr, genau wie bei
>     Python.
> 
>     Stream-Processing ist umstaendlich
> 
> * C/C++
> 
>     IMO Vollstaendig ander Zielgruppe.
> 
> 
> > Die Praesentation ist für Ingenieure gedacht also hauptsaechlich 
> > Fortran leute oder kein programmiere.
> 
> Zum Thema Fortran faellt mir dann zumindest noch PDL ein
> 
>     http://pdl.perl.org/
> 
> Das sollte fuer die Leute schon interessant sein.
> 
> 
> Ok, das ist alles was mir so auf die Schnelle einfaellt...
> 

Besten dank! "Easy to learn" werde ich wohl streichen aber
sind wir nicht alle abissle sado kann ich ja hinzufuegen ;)

Schnell die mail muss weg es ist 18:52....

Cem



> -- 
> 	    Well, then let's give that Java-Wussie a beating... (me)
> 		-=+ Join Cologne.pm at http://cologne.pm.org +=-
> 
> Michael Lamertz                        |     +49 2234 204947 / +49 171 6900 310
> Sandstr. 122                           |                       mike at lamertz.net
> 50226 Frechen                          |                 http://www.lamertz.net
> Germany                                |               http://www.perl-ronin.de 



-- 
-- 
EASi-Engineering GmbH               Tel.    ++49 (0) 221  / 771 095 38
Theodor-Heuss Ring 23
D-50668 Koeln                       E-Mail  mailto:cem.sakaryali at easi.de
Germany                             WWW     http://www.easi.de

-- 
@x=qw(t s u j);print foreach(reverse at x);%x=(' a'=>'s',2=>l,3=>a,4=>v,
'of '=>e);for(' a',2..4,'of '){if($_ eq' a') {print"$_ $x{$_}";next};
if($_=~ /of/) {print"$x{$_} $_";next};print$x{$_}};$_='cem it';$_=~
s/cem\ / em/g;split ("",$_);print for (reverse at _);   #v1.0 07.10.2002




More information about the Cologne-pm mailing list