<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-15">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <br>
    Kollegen Lehmann und Fischer schrieben:<br>
    <span style="white-space: pre;">>> befehle sollten in einer
      eindeutigen art und weise geschrieben<br>
      >> werden. wenn ich dateien auf deren befehlsinhalt
      kontrolliere, dann<br>
      >> muss ich eben4 schreibweisen berücksichtigen? geht nicht!<br>
      <br>
      > Ich möchte mich diesem Wunsch anschließen und in dahingehend<br>
      > erweitern, dass in Skripten (Job, Flex) Befehle grundsätzlich<br>
      > ausgeschrieben werden sollten. Wenn man schnell einen Aufruf<br>
      > losschickt, kann man von mir aus gerne abkürzen, aber in<br>
      > ausgelieferten Dateien würde ich der Lesbarkeit wegen den
      vollen Text<br>
      > vorziehen.</span><br>
    <br>
    <br>
    Da ist was dran, das klingt natürlich plausibel.<br>
    Es erschließt sich nicht leicht und intuitiv, warum FLEX so ist wie<br>
    es ist. Deshalb ein paar Bemerkungen zu den Hintergründen, die sich<br>
    in der Doku so nicht niedergeschlagen haben.<br>
    <br>
    1. Die offizielle Form der Befehle ist die dreibuchstabige (das<br>
    Trigramm oder Triliteral). Nur die wird vom Programm beachtet, der <br>
    Rest nicht. Der Rest ist eine Konzession an Verständlichkeit und <br>
    Merkfähigkeit, aber redundant.<br>
    Sie können statt "var" auch "variable" schreiben! Statt "write" auch<br>
    "writethis", statt "eval" auch "evaluate" oder "evaluiere" oder
    barsch<br>
    "eva", statt "end" auch unmißverständlich "ende-des-programms",
    statt<br>
    "aresqa" auch "aregano", statt "perform" auch "perxyz" - alles
    wurscht.<br>
    (Für "export" gibt es, das ist aber eine historisch bedingte
    Ausnahme,<br>
    drei gleichwertige Trigramme: "exp", "xpo" und "dow".)<br>
    Die in der Doku stehende Vollform wird vom Programm in keiner Weise<br>
    bevorzugt oder honoriert. Es zählen stets nur die ersten 3 Zeichen,
    der<br>
    Rest - wie lang auch immer - wird ignoriert. Ausnahmen sind nur
    "erase"<br>
    und "include", auf daß es damit kein Vertun gebe, denn "erase" ist<br>
    ja riskant und muß deshalb mit Bedacht ausgesprochen werden, und<br>
    "include" ist kein Befehl, sondern eine Direktive.<br>
    Die ersten drei Buchstaben, kurz gesagt, sind eindeutig. Das ist ein<br>
    Designgrundsatz und wird bei Einführung neuer Befehle streng
    beachtet.<br>
    Sie können sich also gefahrlos eigene Langfassungen überlegen -<br>
    diejenigen der Doku sind nur Empfehlungen.<br>
    <br>
    2. FLEX ist keine kompilierende, sondern eine interpretierende<br>
    "Sprache". Das ist ein ganz großer Unterschied, vor allem wenn es<br>
    um Schleifen geht: bei jedem Durchlauf muß jeder Befehl neu<br>
    interpretiert werden: neu eingelesen, neu erkannt, neu ausgeführt,<br>
    und es macht bei 1 Million Durchläufen schon spürbar was aus, wenn<br>
    jeweils doppelt so viele oder mehr Zeichen zu verarbeiten sind.<br>
    Kommt doch nicht drauf an bei den Prozessoren heutzutage?<br>
    Genau diesen Bequemlichkeitsreflex, so menschlich er ist, haben wir<br>
    beim Entwickeln stets konsequent gemieden. Das Programm würde<br>
    sirupähnlich kriechen, hätten wir ihm stets nachgegeben, weil sich<br>
    die Entschleunigungen summieren oder multipli-, wenn nicht gar
    potenzieren.<br>
    <br>
    <br>
    WENN wir nun also auf 100% Eindeutigkeit der Befehle umstellen
    wollten,<br>
    käme dafür aus mehr als einem Grund nur die triliterale Form in<br>
    Betracht. Die Überlegung ist aber müßig, denn die Zeit für ein
    solches<br>
    Unternehmen fehlt uns natürlich. Dies wäre allerdings ein
    Betätigungs-<br>
    feld im Sinne von OpenSource! Durchaus denkbar ist ein Perl-Skript,
    um<br>
    zumindest die gängigsten Befehle zu normieren. Denkbar wäre, darüber<br>
    weit hinausgehend, ein Editor mit der Fähigkeit, die Befehlswörter<br>
    auf Knopfdruck zur Vollform zu erweitern statt sie nur farblich<br>
    hervorzuheben. Wer packt's an? Aber der funktionale Gewinn wäre<br>
    in jedem Fall exakt Null.<br>
    <br>
    Nur ganz nebenbei: Man könnte einwenden, daß Freiheit eine Kategorie<br>
    sei, die auf diesem Felde eher kontraproduktiv wirke. Dies  wurde<br>
    auch gegen die neue Variantenfülle der sog. "Rechtschreibreform" ins<br>
    Feld geführt. Deren Befürworter wollten das jedoch nicht
    akzeptieren,<br>
    sie wollten eine Lockerung der herkömmlichen, strikten Präskription<br>
    des Wörterbuchs und sahen das als Erleichterung. Anscheinend ist <br>
    diese, man lese nur Zeitungen oder Schulaufsätze, mehrheitlich <br>
    aufgegriffen worden und kann somit als Mainstream gelten. Und ohne
    Not<br>
    sich solchen Megatrends zu verschließen, na ich weiß nicht ... würde
    <br>
    das nicht heißen, einer Erleichterung für die Maschine mehr Gewicht
    <br>
    zu geben als einer solchen für den Menschen? Würde damit nicht auch
    <br>
    das menschliche Potential, mit Vieldeutigkeit umzugehen, was ihn
    über<br>
    die Maschine weit hinaushebt, negiert und brachliegen gelassen?<br>
    Ich fürchte, es bleiben nagende Zweifel.<br>
    <br>
    <br>
    B.Eversberg<br>
    <br>
    <br>
    <br>
  </body>
</html>