[Tustep-Liste] Re: Quo vadis?

Hans Derkits johann.derkits at univie.ac.at
Di Mai 25 16:00:25 CEST 2004


	Liebe Teilnehmer,

es scheint mir, da ist es nun still geworden um einige - wie ich glaube - sehr 
gute Ideen.

Weil es schade wäre, wenn die Anregungen von Herrn Giacomazzi einfach 
untergehen würden und die Entwickler ja auch auf Rückmeldungen angewiesen 
sind, hier ein paar Beobachtungen aus meiner Praxis.

Das Problem ist auch eine Frage des Kontexts: Kopiere war einmal ein 
wegweisender Fortschritt. Damals gab es aber auch Perl noch nicht, Python, 
Ruby.

Den Wunsch nach einer in Tustep integrierten, gut dokumentierten Skriptsprache 
habe ich oft verspürt - es gibt dafür auch sehr überzeugende Vorbilder: Der 
Editor "vim" (mit integriertem Python), das Bildbearbeitungsprogramm 
"gimp" (Perl), oder "FontLab" (Python), um auch ein kommerzielles Programm zu 
nennen.

Damit würden neben der Möglichkeit, die historisch bedingten Schwächen von 
Kopiere zu umgehen zugleich zeitgemäße grafische Oberflächen zur Verfügung 
stehen, Integration von Parsern, neben weiteren Vorteilen, wie sehr einfacher 
Datenbank- und Netzwerksanbindung und vielem mehr.

Es geschieht heute immer öfter, nicht nur bei verschachtelten Datenstrukturen, 
dass ich Dateien einfach im Textformat exportiere, um sie - in einen Aufruf 
von 'execute' - mit ein paar Zeilen Ruby- oder Perl-Script (mitunter 
ebenfalls aus einer Tustep-Segmentdatei exportiert) zu bearbeiten und 
anschließend für weitere Aufbereitung oder Satz wieder nach Tustep zu 
importieren.

Das klingt kompliziert, und ist durch das Dateiformat bedingt. Doch ist es, 
sogar bei vielen Routine-Aufgaben, viel einfacher zu handhaben als die 
mühsame Syntax von Kopiere. 10 sehr kurze Zeilen ersetzen dabei oft 50 oder 
mehr 'Parameterkarten'. Die zur Bearbeitung von Textmustern verwendeten 
'regular expressions' sind übersichtlicher und weit besser lesbar, besonders 
die Mengenoperationen; zugleich kann man umstandslos und beliebig 
Schleifenkonstrukte verwenden, auch XML-Daten parsen, hat alle Vorteile 
objektorientierter Programmierung. (Ruby wie auch Python haben übrigens auch 
eine interaktive Shell, in der die Auswirkung von probeweise eingegebenen 
Kommandos sofort sichtbar ist - ohne Durchlauf des gesamten Programms. Das 
reduziert die Anzahl der Testläufe erheblich.)

Von den Textveränderungen wären die meisten wohl auch mit Kopiere möglich, für 
den 'Alltagsanwender' wie mich (und ich arbeite seit 17 Jahren damit) 
allerdings nur bei extensiver Handbuchbenutzung (den Tustep-Kurs 
vorausgesetzt).

Natürlich, Tustep erlaubt auch das, 'execute' ist ein wichtiger Befehl. Ob das 
aber insgesamt tatsächlich nur *für* Tustep spricht?

Der Komfort dieser modernen Skriptsprachen (besonders von Ruby) und die 
Einfachheit ihrer Verwendung für die Textbearbeitung sind verblüffend, nicht 
nur im Vergleich zu Kopiere; und ihre Möglichkeiten gehen sehr weit über die 
Textbearbeitung hinaus. Aber: Sie gehören dem 'mainstream' an und sind weit 
von jeder Esoterik, es gelten dieselben Prinzipien, wie bei anderen 
Programmiersprachen auch: man hat zugleich viel auch für deren Verständnis 
und Verwendung gewonnen, die kurze Einarbeitung lohnt sich in mehr als einer 
Hinsicht.

Damit auch Tustep-Makros zu programmieren, ist in meinen Augen ein sehr 
überzeugendes Argument.

Es sind freie Sprachen, warum sie nicht auch innerhalb von Tustep benutzen, 
oder zumindest die Fortschritte, die sie gebracht haben, in dessen Kontext 
verwenden. Ihr Erfolg beruht darauf, dass ihre Autoren verstanden haben, dass 
die Verbreitung in großem Maß auch von der einfachen Erlernbarkeit abhängt.

Beim Satzprogramm ist es vielleicht schwieriger. Und auch hier liegt vieles am 
veränderten Kontext:

Es fehlt unter anderem (ich ergänze hier nur um meine Erfahrung) vor allem die 
Unicode-Fähigkeit, um die zuvor bearbeiteten, oft XML-kodierten Texte auch in 
ihrem ganzen Zeichenumfang entsprechend darstellen zu können.

Auch Satz war einmal wegweisend. Heute ist es mit dem derzeit (allein) 
verwendeten Mechanismus nicht möglich, viele - in Unicode-Fonts fertig 
existierende - Kombinationszeichen mit vernünftigem Aufwand auch zu drucken.

Zwar kann man viele Zeichen damit zusammensetzen, im UniCode-Font gäbe es sie 
aber ohnehin, noch abgesehen von dessen eigenen Kombinationsmöglichkeiten. 
Andererseits sind etliche der in UniCode-Fonts vorhanden Zeichen mit #Satz 
ohne Manipulation der Fontdateien nur schwer darstellbar. Machbar, wenn es 
wenige sind; sind es aber viele, kann das sehr mühsam werden. - Und man 
braucht dazu noch einen Font-Editor.

Warum also nicht, sagen wir, Python in Tustep integrieren, was neben vielem 
anderen auch die bequeme Bearbeitung von XML-Bäumen ermöglichen würde, die 
Vorzüge einer diesen Aggregatstrukturen entsprechenden objektorientierten 
Programmierung, ohne all die Umwege.

Ganz besonders im Fall von Fragen, für die Kopiere nicht konzipiert ist. Eine 
Datenbankanbindung, ein bestimmter Parser, wären bei Bedarf mit einem 
einzigen Kommando einzubinden, ganz abgesehen von der einfachen Handhabung 
zahlreicher anderer, oft sehr komplexer Module. Es wäre wie die Öffnung einer 
Burg... Und womöglich könnten sogar Nicht-'Tustepianer' ein wenig mehr damit 
anfangen.

Doch weiß ich über die Vorhaben und Entwicklungskonzepte des Tustep-Teams 
nicht Bescheid, und vielleicht irre ich mich. - Es ist mir auch klar, dass es 
leichter ist, viele Ideen und Wünsche zu haben, als sie praktisch zu 
verwirklichen.

Mit einem sehr herzlichen Gruß,

Hans Derkits

-- 
Hans Derkits 
johann.derkits at univie.ac.at


Mehr Informationen über die Mailingliste Tustep-Liste