c't

c't-Projekte - Mailinglisten


[Voriger (Datum)] [Nächster (Datum)] [Voriger (Thread)] [Nächster (Thread)]
[Nach Datum][Nach Thread]

Re[2]: Fwd: Re[2]: [ct-bot] ct-Bot-Wettkämpfe

Absender: Thorsten Thiele
Datum: Mi, 26.04.2006 07:25:14
In-reply-to: <006901c668cf$6bf19030$2201a8c0@user08>
References: <006901c668cf$6bf19030$2201a8c0@user08>


Hallo,

ich denke, die derzeitige Diskussion zum Thema Bibliotheken/Framework
etc. steckt ein wenig in Details fest - ich will einmal versuchen, mit
einem Beispiel zu verdeutlichen, wo eigentlich das Problem liegt,
ueber dessen Loesung wir erst einmal grundsaetzliche Einigkeit herstellen
sollten.

Ich gehe dazu einmal in die Linux-Welt. Dort gibt es eine recht
passable GUI mit Namen QT3 (mittlerweile wohl schon QT4, ich verwende
aber noch QT3). Damit kann ich einerseits als High-Level-Programmierer
schnell und einfach meine Anwendungen basteln, ohne mich um
Low-Level-Details kuemmern zu muessen. *Aber* - und das ist ueberaus
wichtig - ich KANN auch bei Bedarf in den Low-Level-Bereich absteigen
und dort etwas aendern oder ergaenzen.

Genau so eine Architektur ist aus meiner Sicht fuer den Bot sinnvoll:
Eine einfach zu verwendende High-Level-Schnittstelle, fuer deren
Benutzung man sich nicht in die Low-Level-Funktionen vertiefen muss
und die so abgespalten bzw. definiert ist, dass dem Anfaenger ohne
grosses Suchen klar ist, wo und wie er seinen Code hinschreiben sollte.

Und dazu die Moeglichkeit, auf Low-Level-Ebene Aenderungen
vorzunehmen.

Wenn wir uns darauf verstaendigen koennen, dass eine solche Trennung
nuetzlich und sinnvoll ist, kann es in die Details gehen - zum einen
die Frage der "Organisation" (Bibliotheken, Framework, Klassen,
Funktionsaufrufe, Variablen, ...), zum anderen die Festlegung, wie
hoch die High-Level-Schnittstelle angesiedelt sein soll - immer mit
oben definiertem Ziel im Auge.

Als organisatorisches Detail kann es vielleicht schon ausreichen, ganz
schlicht zwei Verzeichnisse zu verwenden - "LowLevel" mit allen
Quellen, die der High-Level-Programmierer in der Regel nicht braucht
und "HighLevel" vielleicht mit einem Template. Der Compiler uebersetzt
dann einfach alles.

Grundsaetzliche Gruesse

Thorsten Thiele