[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [DDL-ML] CfV: Syntax des SRCP



Hallo,

aus informationstechnischer Sicht ist m.E. die explizite
(attributbezogene) der impliziten (positionsbezogenen) ueberlegen.

Was spricht fuer positionsbezogen?
- wenige Bytes (--> schnelle Uebertragung)
- ausreichendes Handling optionaler Parameter ("*")

Was spricht fuer attributbezogen?
- gute Lesbarkeit, auch fuer's "Debuggen"
- leichte Erlernbarkeit
- leichte Erweiterbarkeit
- gutes Handling optionaler Parameter (weglassen)

Das mit dem hoeheren Aufwand soll mir erst mal einer beweisen. Ich wage zu
behaupten, dass man den String mit einem einigermassen gut geschriebenen
Parser (= "Abtaster") mit weniger Aufwand abtasten kann als mit haendisch
eingerichteten scanf() Aufrufen. Das Error-Handling wird zentralisiert, es
kann vernuenftig erweitert werden -- auch in programmtechnischer Hinsicht.
Das alles zu pflegen und zu erinnern, ist naemlich auch "Aufwand" ...

Aus meiner Sicht ist eine positionsbezogene Parametrierung dann sinnvoll,
wenn (a) die Protokolle sehr statisch sind und (b) Geschwindigkeit absolut
den Vorrang vor Lesbarkeit, Flexibilitaet und Fehleranfaelligkeit hat.

Ich plaediere hiermit fuer attributbezogen. Und ich finde es sinnvoll,
dass Du sprechende Attributnamen im Beispiel verwendet hast und nicht nur
kryptische Abkuerzungen, die dann wieder das Konzept verwaessern.

Herzlichen Gruss
Volker



On Sun, 4 Feb 2001, Matthias Trute wrote:

> Hallo SRCP'ler,
> 
> da ja einige von uns keine News lesen, auch hier mal mein
> Aufruf, sich eine Meinung zum Thema generelle Syntax
> zu bilden.
> 
> Zur Debatte steht die bisherige positionsbezogene
> Parametrierung der Befehle. Sie soll durch eine
> Attributbezogene ersetzt werden.
> 
> Beispiel (bei einem SET, die INFO's sehen natürlich dann
> analog aus):
> 
> SET GL <bus> <protocol> <address> <direction> <V> <V_max> [<f0> [<f1> [<f2> ...
> ]]]
> 
> vs.
> 
> SET GL bus=<bus> protocol=<protocol> address=<address> direction=<direction>
>        V=<V> V_max=<V_max> [f0=<f0> [f1=<f1> [f2=<f2> ... ]]]
> 
> Die letztere Notation ist leistungsfähiger und bei Veränderungen flexibler.
> Sie gestattet auch das gezielte Weglassen von Parametern, die nicht
> verändert werden sollen, wofür wir sonst spezielle Wildcards benötigen
> würden.
> 
> Dafür ist die Implementierung aufwendiger. Dies betrifft sowohl den Server
> wie auch den Client. Nur simple Command-Only Clients werden keinen
> Unterschied bemerken.
> 
> Die bislang geäußerten Meinungen tendieren zur Veränderung. Da haben aber
> noch zuwenig was dazu gesagt. Ich sammle die Stimmen und wenn ich meine,
> genug zu haben (wir sind momentan ca. 15, die sich in irgendeiner Form mal
> zum SRCP geäußert haben), melde ich mich wieder.
> 
> Viele Grüße
> Matthias
> 
> --
> GPGP 1024D/77E30063 mailto:mtrute@topmail.de
> http://members.tripod.de/mtrute/
> 
> 
> 
> 

-- 
 Freundschaftlich / With kind regards
 Volker

--
 Volker Wiegand                   Voice: +1-510-628-3380 ext 5029
 SuSE Inc.                          Mobile (US):  +1-510-333-9248
 580 Second Street, Suite 210              (EU):  +49-175-5427870
 Oakland, CA 94607 USA                      Fax:  +1-510-628-3381
 http://www.suse.com/                    E-Mail: wiegand@suse.com
 GnuPG KeyID: 1024D/D4DB093B
 Fingerprint: 9921 6EC5 FFD1 C7CC 285E  2ACF 2FF0 B5B2 D4DB 093BA