[Cologne-pm] Warum Perl?

Michael Lamertz mike at lamertz.net
Wed Apr 2 04:01:05 CST 2003


On Wed, Apr 02, 2003 at 12:27:34AM +0200, Stefan Denker wrote:
> On Tue, Apr 01, 2003 at 05:47:30PM +0200, Michael Lamertz wrote:
> >> Es wäre hilfreich zu erfahren, was dieses Programm in groben Zügen tut.
> >> Die Wahl des Werkzeugs hängt nämlich immer von dem zu bearbeiteten
> >> Werkstück ab.
> > Leatherman?  ;)
> 
> towo is also ein Petzszaf. *g*

Huh?!?  Nope, ich spreche einfach generisch von einem Multi-Tool -
welches ich natuerlich auch immer mit mir 'rumschleppe :)

> >> Womit ich sagen will: Die Programmiersprache stimmt man
> >> auf das Problem ab. Wenn ich Schnelligkeit brauche,
> > Schnelle Laufzeit, oder schnelle Ergebnisse? 
> 
> Ja.
> 
> > Wie schnell ist "Schnell genug"?
> 
> So schnell, daß es nicht zu langsam ist.

Die einzige Stelle die mir hierzu einfiele ist Number-Crunching, und
dafuer gibt's dann sowieso Spezial-Libs und auch Spezial-Apps.

Tatsaechlich *ist* perl in einigen Belangen langsamer als andere
Sprachen, aber es ist eine ganze Weile her, dass mir das unangenehm
aufgefallen waere.

> >>> - mehr moeglichkeiten als awk
> >> Naja, vielleicht nicht mehr, aber einfacher komplizierteres zu
> >> programmieren.
> >     /me fetches the Rocketlauncher...
> 
> /me schlägt mit einem Schott zu (die ultimative Waffe, für mehr Infos
> wendest du dich bitte an towo)

Hoehrt sich nach zweigeteiltem Gegner beim Rollenspiel an, oder?

> > Doch, *viel* mehr 
> 
> Moment, Miss Verständnis!

> Du redest von mehr möglichen Wegen, ich von Möglichkeiten der Programme.

Huh?!?  Den Satz hab' ich jetzt nicht verstanden.  @-)

> Und wenn du behauptest, daß mit perl mehr
> möglich sei als mit awk, dann mußt du mir ein perl-Programm zeigen, zu
> dem man kein semantisch identisches awk-Programm finden kann.

Jetzt komm' mir nicht mit dem Turing-Quatsch.  Versuch'mal 'nen
forkenden alleine TCP-Server in awk zu schreiben.

Dazu brauchst Du mindestens inetd der den Server-Part uebernimmt
(http://awk.geht.net), weil Du einfach nicht an die API 'rankommst.
Geht nicht.

> Das Perl mehr Wege zur Problemlösung bietet, das habe ich nie
> bestritten.
> 
> > Abgesehen davon:
> >     * awk's Datenstrukturen flach, weil's dort keine Referenzen gibt.
> >         awk(1): "Awk provides  one-dimensional  arrays."
> 
> Kann ich mir mit Arrays auch händisch konstruiren. Niemand hat
> behauptet, daß es schön einfach sein muß...

Was uns auf unserem Endlosen Band erneut durch den Turing-Automaten
fuehrt...

> >     * awk hat keinen eigenstaendigen Programmfluss, sondern ist *immer*
> >       eventgesteuert.
> 
> -vvv, bitte. Was ist ein eigenständiger Programmfluß? 

    ---------- awk(1) ----------
    THE AWK LANGUAGE
       1. Program structure
           An AWK program is a sequence of pattern {action} pairs and  user  func-
           tion definitions.
    ---------- awk(1) ----------

Du musst schon Deine komplette Programmsteuerung in's BEGIN oder END
Pattern setzen um selber die Kontrolle zu bekommen.  Ohne ein Pattern -
welches per Default ein "Matche jede Zeile" ist - kannst Du keinen Code
starten.

Wenn Du aber Deinen ganzen Kram in's END schreibst, alle Dateien selber
oeffnest und liest, dann umgehst Du das Paradigma welches awk's staerke
ja erst ausmacht.  Dann nimm gefaelligst auch eine andere Sprache.

> >     * Und selbst das Stringhandling in awk ist eigentlich das was man als
> >       Minimum braucht.
> 
> Vielleciht. Aber wahrscheinlich könnte ich mir mit gewissem Aufwand alle
> Funktionen von perl in awk nachbilden, oder? (Sorry, ich kenne awk nicht
> wirklich)

Nein - siehe oben, beispiel "Server".

> ich wiederhole nochmal: Es geht mir nicht darum, ob das schön oder
> umständlich wäre. Es geht mir lediglich darum, ob es technisch möglich
> wäre...

Ob es "technisch moeglich" ist, ist doch in einem Artikel wie Cem ihn
schreiben wollte nicht relevant.  Alle moeglichen Irren haben zu allen
moeglichen Zeiten Dinge getan die einfach keinen Sinn machten, nur um zu
beweisen, dass es geht.  Als Gedankenspiel mag das ganz nett sein, das
macht es aber nicht zu einer klugen Idee.

awk und Perl sind *nicht* gleichwertig.

-- 
	    Well, then let's give that Java-Wussie a beating... (me)

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 



More information about the Cologne-pm mailing list