Moin,
* Christoph Maurer
* Am Fre, 10 Okt 2003 schrieb Thorsten Haude:
Wie wahrscheinlich ist dagegen, daß jemand in diesem Beispiel¹: if (/some regex/) { to mailbox } fi oder ot schreibt, ohne es zu merken? Wer würde Schwierigkeiten haben, zu verstehen, daß die Klammern etwas zusammenfassen, und daß öffnende und schließende Klammer vom gleichen Typ sein müssen? Daß die beiden Typen von Klammern unterschiedliche Bedeutungen haben? Daß das 'if' in engem Zusammenhang mit der Bedingung dahinter steht? Daß 'to' eine Richtung angibt?
Wer sich mit Mailfilterung beschäftigt und eigene Skripte schreiben will, wird wohl auch in der Lage sein, die Manpage zu lesen, wo die Syntax haarklein beschrieben ist.
Habe ich irgendwo geschrieben, daß es unmöglich ist, Procmail zu lernen und produktiv einzusetzen? Man kann auch ein komplette GUI in Assembler schreiben, ich habe mal jemand getroffen, der das getan hat. Es ist halt nur so, daß Procmails Syntax völlig isoliert dasteht, völlig konzeptionslos ist und sich kaum selbst ähnelt. Lies Dir mal meinen Absatz oben durch, und vergleiche das mit einem ähnlich simplen Beispiel von Procmail. Wer würde Schwierigkeiten haben, 0: als Anfang eines Filters zu verstehen, oder eine Leerzeile als dessen Ende? Antwort: Mehr Leute als hier scheinbar viele annehmen. Ich halte es für nicht angebracht, auf die Frage nach einem Mailfilter reflexartig mit "Procmail!" zu antworten, obwohl die Nachteile auf der Hand liegen. Das ist entweder Ausdruck eines elitären Gehabes, das man Linuxanwendern immer wieder nachsagt oder man lügt sich selbst vor, daß Procmail leicht zu lernen ist, weil man sonst ja Zeit verschwendet hätte. (Fühlt sich jemand auf den Schlips getreten? Dann soll er mir bitte anhand des Beispiels unten (AND/OR) zeigen, warum Procmail hier nicht quasi meßbar schlechter ist.)
Früher hätte ich noch das Argument akzeptiert, daß die weite Verbreitung ein Vorteil ist (wie bei Windows). Nachdem ich aber meine Procmailregeln in wenigen Minuten in eine Alternative¹ übersetzt hatte, lasse ich das auch nicht mehr gelten.
So, ich habe gerade mal wc laufen lassen, ich habe aktuell 4537 Zeilen Procmail-Regeln in Benutzung, das hat man sicher nicht in 5 Minuten übersetzt, zumal das Übersetzen ja nur geht, wenn man die Syntax beider Sprachen kann.
Und noch ein Vergleich: Ich kann mir immer noch nicht merken, ob man bei Procmail ein AND simuliert, indem man zwei Ausdrücke in einen Filter schreibt oder indem man zwei Filter untereinanderschreibt, wobei man den ersten Filter qualifiziert.. Für Maildrop gilt: AND: && OR: || So, jetzt versuch das mal wieder zu vergessen. Du kannst also in wenigen Minuten lernen, was man von Maildrop wissen muß, um Deine Filter zu übersetzen. (Etwas länger, wenn Du Maildrops überlegene Syntaxelemente wie Schleifen benutzen willst.) Klar, bei entsprechend vielen Regeln hast Du dann noch Tipperei, aber das wirst Du wohl nicht als Argument anbringen wollen.
Und ein nicht unwesentlicher Teil meiner Procmail-Regeln stammt von irgendwo aus dem Netz und ist sehr hilfreich...
Klar, die wirst Du aber schnell übersetzt haben. Maildrops Syntax ähnelt bekannten Sprachen so sehr, daß Du in vielen Fällen sogar auf die Manpage verzichten kannst. Zum Abschluß noch ein Beispiel: Was bedeutet wohl bei Maildrop die folgende Anweisung: cc backup Thorsten -- Everyone has the right to freedom of opinion and expression; this right includes freedom to hold opinions without interference and to seek, receive and impart information and ideas through any media and regardless of frontiers. - Universal Declaration of Human Rights, Article 19