[Tustep-Liste] Scripting und Satz, Teil 2
Giorgio Giacomazzi
giorgio at giacomazzi.de
Mo Jun 27 17:32:25 CEST 2005
Liebe tustep-Runde,
auf die Gefahr hin, die Grenzen der Hotline zu überschreiten, mische ich
mich wieder mal auf etwas grundsätzlichere Art in die laufenden Debatten
ein.
Ich sehe zwei Möglichkeiten, was man heute sinnvoller- und
realistischerweise von der kleinen tustep-Mannschaft in Tübingen noch
wollen kann. Eine vernünftige Erörtertung setzt ein minimales
Verständnis voraus, was tustep ist und wo tustep heute steht. Dazu ein
abstract und ein Beispiel.
Tustep ist "scripting" + satz. "Scripting" in Anführungszeichen meint
das alte #kopiere, #tue usw., ohne Anführungszeichen die Makrosprache.
Tustep war in den 60er/70er Jahren tatsächlich ein großer Wurf, gerade
in der Verbindung von "scripting" und satz. Es hat sich aber auch dank
dieser Verbindung immer mehr abgeschottet und steckt nun in einer
Sackgasse. Tustep braucht längst modernere Programmiermittel und ein
neues Satzprogramm.
Das folgende Beispiel führt nun mitten in die Gegenwart hinein. Vor
einem Jahr hatte ich Herrn Trauth nach Rat gefragt, wie man die
abschnittsweise Zeilennummerierung bei kritischen Editionen (nicht bloß
Zeilenzähler, sondern auch Zeilennachweise) implementieren sollte und
er, großzügig wie immer, gab mir eine auf kopiere basierende
Blackbox-Lösung. (1) Das zeigt, wie eng die Verschränkung von
"scripting" und satz bei tustep ist; generell ist #satz ohne "scripting"
wertlos; wiederum laufen die meisten tustep-Projekte auf satz hinaus.
(2) Wie ich zu meiner Schande - oder nicht - gestehen muss: In den
mittlerweilen abgeschlossenen Satzprojekten habe ich die Blackbox-Lösung
von Herrn Trauth nicht genutzt, sondern eine neue Lösung auf der
Grundlage von Neuerungen in der Makrosprache, die Herr Schälkle im
Listenbeitrag vom 30.11.2004 vorgestellt hat, entwickelt. Paradox ist,
daß Herr Trauth mir nicht im Sinne seines Hotline-Verständnisses
geholfen hat, sondern immens durch beiläufige Hinweise, was seine
Blackbox tut. Ohne diese wäre meine Makrolösung nie entstanden und ich
bin ihm deshalb zu Dank verplichtet. - Warum habe ich mir aber die
scheinbar unnötige Arbeit gemacht? Der Grund ist, daß Blackbox-Lösungen
auf kopiere-Basis nur in unmittelbarer Nähe ihres Urhebers
funktionieren. Es genügt die kleinste neue Anforderung und die Blackbox
ist wertlos. Hierzu resümierte Herr Trauth am 19.4.2005:
> Innerhalb Triers funktioniert das auch ganz gut, ausserhalb und
> auf lange Distanz schon deutlich schlechter - aber in jedem Fall
> gilt, dass dieses Verfahren zu meinem allergroessten Bedauern
> in der Regel unmuendige Benutzer heranzieht, die nur noch
> rudimentaer verstehen, was denn ueberhaupt an welcher Stelle der
> Prozedur passiert.
Wie wahr! Und für mündige Benutzer gilt, daß sie die eigenen
kopiere-Lösungen, wie Herr Leicht sagte, nach einem Jahr auch nicht mehr
verstehen.
Hier geht es nicht bloß um Technik, sondern um die Denk- und
Arbeitsweisen, die eine Technik fördert oder nicht. Eine Alternative
hatte ich vor einem Jahr umrissen; "Kleines NUMMERIERE in Python, den
TUSTEP-Benutzern und -Entwicklern gewidmet" schildert ein Kontinuum von
der kleinsten Aufgabe bis hin zur Möglichkeit, mit python auch ein
ganzes tustep-Modul zu implementieren. Solches Kontinuum ermöglicht
Mündigkeit, über sich Hinauswachsen, sein Fehlen schafft Abhängigkeit.
Eine Anekdote mag das verdeutlichen. Meiner Tochter fiel beim
Lesenlernen einmal der Blick auf das tustep-Handbuch, und sie sagte:
"Handbuch ... warum?" Nach dem ersten Schock fand ich die Antwort:
Tustep ist keine Sprache, in der man sich frei ausdrücken kann, keine
"High Level Language" (oder gar VHLL) wie Python und Ruby, die mit
wenigen Sprachkonstrukten es ermöglichen, auch komplexe Zusammenhänge
selbstständig auszudrücken. Bei tustep muss man vor dem Sprechen
nachschlagen, deshalb Handbuch. Heutige Programmierer sprechen aber
meistens ohne Handbuch, wie Kinder.
Angesicht der faktischen Lage wäre ich dafür, die Kräfte auf wenige
zukunftsfähige Felder zu konzentrieren. Ich sehe dazu entsprechend
meinem tustep-Verständnis zwei sinnvolle Möglichkeiten:
1. Scripting: Vollendung der Makrosprache als Alternative zu #kopiere,
ferner zu anderen tustep-Programmen, wo der Aufwand in keinem Verhältnis
zum Problem steht; letzteres ermöglicht eben eine Hochsprache. Die
Makrossprache sollte erstmal das leisten, was sie nach Herrn Schälkle
leisten soll. Darüberhinaus sollte sie an heutige syntaktische
Konventionen weiter angepaßt werden, damit wer von außen kommt nicht hin
und wieder in Sonderregel stolpert. - Alternativ bzw. ergänzend zur
Makrosprache könnte eine externe Skriptsprache integriert werden oder
für externe Skriptpsrachen ein einfacherer Zugang zu tustep-Funktionen
und -Daten geschaffen werden, wie vor einem Jahr gefordert. Aber findet
dieser Vorschlag außer bei mir und Herrn Derkits so viel Zustimmung, daß
er auch realistisch genannt werden kann?
2. Satz: Wenn (und nur wenn) der Ausbau von #formatiere zu einem neuen
#satz-Programm führt, unterstütze ich das neue #formatiere. Letzteres
hatte ich im selben Sinne schon beim ersten Vorschlag in Blaubeuren
unterstützt, aber mit einer anderen als die orthodoxe Argumentation:
Nicht wegen #formatiere braucht man sich bei tustep zu "genieren" (es
gäbe schon bessere Gründe, s. Konsortialvertrag). Sondern: Weil
#formatiere ein üppig ausgestattetes 'formatter' ist, das Fußnoten
bereits beherrscht, erscheint dessen Ausbau zu einem 'typesetter' als
denkbar. Formatiere hat noch niemanden "geschadet". Ein Progrämmchen
aber, das nur proportionale Schriften und Windows-Drucker unterstützt,
brauchen selbst die meisten seiner Befürworter nach eigener Aussage nicht.
Wenn nur ein neuse formatiere und Makrosprache zur Wahl stünden, hätte
ich keine Zweifel: Makrosprache vorantreiben, weil sie den weitesten
Aktionsradius hat. Ich kann mir vorstellen auch ein neues AUMBRUCH damit
hinzukriegen.
Nachdem nun die Parteien sich vor allem dank Herrn Schälkles stillen
Beitrag und zuletzt dank Herrn Derkits mehr angenährt haben als es
vielleicht den Anschein hat, wäre auch ein Treffen von
tustep-Entwicklern und an der tustep-Entwicklung Interessierten, welches
Herr Trauth vor einem Jahr vorgeschlagen hatte, denkbar.
Mit besten Grüßen,
Giorgio Giacomazzi
Mehr Informationen über die Mailingliste Tustep-Liste