[linux-l] Programmieren in Perl 1 (was: python)

Olaf Radicke olaf_rad at gmx.de
Mo Mai 20 21:20:11 CEST 2002


On Mon, May 20, 2002 at 04:18:03PM +0200, Steffen Dettmer wrote:
> * Olaf Radicke wrote on Sun, May 19, 2002 at 21:08 +0000:
> > On Sun, May 19, 2002 at 07:58:09PM +0200, Dr. Bernd Freistedt wrote:
> > > ---Olaf Radicke (linux-l at mlists.in-berlin.de) wrote on Sun, 19 May 2002 17:32:30 +0000
> > > 
> > > > Ich bin jetzt doch von Perl auf Python umgestiegen. 
> > > 
> > > fein :-)
> 
> Warum? Perl fetzt doch.

Ja, genau das war der Grund. ;-)
Ich weiß Perl hat Kult-Status.Aber lass es uns mal nüchtern 
betrachten und den "Kult-Bonus" mal kurz bei Saite lassen...

> > > Zum Schluss hatte mein Perl-Prog 1100 Zeilen Code und
> > ich bin nicht mehr durch gestiegen bei den debugging.
> 
> Na, für Spaghetti-Code kann ja auch Perl nix. Wenn man schon bei
> 1100 Zeilen nicht mehr durchsieht, hat man meist wirklich viel
> falsch gemacht.

Ich bin erst seit etwar 1/4 Jahr ernsthaft am Coden. Ich 
will nicht behaupten, das Das genial ist was ich gemacht
habe. Formal-Inhaltlich blicke sehrwohl noch durch, nur
die vielen Klammern sind ein Grauß.
Wenn man bei Perl mal eine Klammer vergisst zu schließen
(
und wenn man in Schnitt von pro Zeile 
	(
	vorsichtig geschätzt	
	)
zwei Klammern ausgeht, sind das bei 1100 Zeilen 2200 Klammern
im Prog. Was somit also auch nicht verwunderlich währe, wenn
man da mal eine vergisst 
	(
	und selbst in einer E-Mail 
		(
		wie Dieser
		) 
	währe ich mir nicht mehr 
		(
		vollkommen
		) 
	sichher wirglich alle Klammern geschlossen zu haben
 	) 
)	
dann hat man echt ein Problem, weil einem der Interpreter 
immer die die letzte Zeile als Fehlerquelle nennt.
Wenn du glaubst, du findest die schneller, kann ich ja mal
zu einen Mittwoch mein Prog mitbringen und an einer ganz
gemeinen stelle eine Klammer entfernen.  

> > > Aber ueberlege doch, ob Du in Python das Array ueberhaupt
> > > brauchst. Sicher geht Dein Problem eleganter zu loesen.
> > 
> > Nun, ich will damit die einträge in Menue, in meinen Programm
> > zählen. Sie werden der Reihe nach angezeigt, und ich (b.z.w.
> > das Prog) muss wissen wenn es am Ende angelangt ist.
> 
> In Perl nimmt man da foreach:
[...]

Verblüffent mit was für einen Intusiassmuss du ein Prog
analysierst von dem du derade mal zwei Zeilen Code kennst ;-)

Ich werde mir vorläufig NOCH nicht die Blöße geben und
mein ersten "zarkhaften" Schritte in Python hier auf die Liste 
zu setzen. Sprich den Rest Code zu Posten. Aber mit du nicht 
völlig im Dunkeln tappst eine kurze Beschreibung von dem was 
ich vor habe: Auf der Seite 
http://www.belug.info/~or/index.html
Ist das Perl-Prog mit den man Texte mit nur zwei Tasten schreiben
kann. Es ist gedacht für spastisch gelähmte Menschen. Es es besteht
aus ein Text-Feld und einen Tastatur-Feld. Ein Fokus läuft durch
den Impuls der Tasten durch die Tastatur auf den Bildschirm.
Rechte Taste heißt "eins weiter" und linke Taste heißt "auswählen".

Das Prog was ich jetzt angefangen habe funktioniert etwas anders.
Es hat kein Tastaturfeld mehr, sondern zwei Anzeige-Label. Hier
eine Skizze:
+------------------------------------------------+
|+----------------------------------------------+|
||  Menue-Label                                 ||
|+----------------------------------------------+|
|+----------------------------------------------+|
||   Text-Feld                                  ||
||                                              ||
||                                              ||
||                                              ||
|+----------------------------------------------+|
|+----------------------------------------------+|
||  Info-Label                                  ||
|+----------------------------------------------+|
+------------------------------------------------+
Im "Menue-label" wird immer angezeigt was gerade zur Auswahl
steht. Z.B. sieht man den Eintrag "Kleinbuchstaben". Drückt
man die rechte Taste erscheint "Großbuchstaben". Wird
jetzt links gedrückt erscheint "A". drückt man wider rechts
erscheint "B". Also: wir haben das zweite Element 
"Großbuchstaben" der ersten Liste ausgewählt und sind in der 
Liste mit den Elementen A bis Z gelandet. Wird jetzt nochmal 
links gedrückt wir der Buchstabe "B" in das Text-Feld geschrieben.

Der Zweck der Konzeptes war die Überlegung, das es sehr 
anstrengend ist für Menschen, die die Tasten mit den Kopf 
bedienen, immer auf den Monitor zu gucken zu müssen. Da
dabei die Buchstaben optisch "tanzen".

Mit dem neuen Prog soll es leichter sein im Geiste mit
zu zählen ohne auf den Bildschirm gucken zu müssen. So
mit also quasi "blind" zu schreiben. Die Anzeige im
Label dient nur noch der eigenen überprüfung und soll
dann nach ausreichender Übung nicht mehr gebraucht werden.

[..]

Mfg Olaf




Mehr Informationen über die Mailingliste linux-l