[Tustep-Liste] Quo vadis? - Ordnungsruf!
Giorgio Giacomazzi
giorgio at giacomazzi.de
Di Jun 22 12:36:58 CEST 2004
Lieber Herr Trauth, liebe Listenteilnehmer,
zuerst halte ich einfach folgendes aus Ihrem Ordnungsruf fest:
- Sie räumen ein, daß TUSTEP keine offene Schnittstelle hat
- Sie räumen ein, daß TUSTEP ein proprietäres Dateiformat hat.
Ob das gut ist, möchte ich diskutieren; wenig ist das nicht. Sodann:
- Sie sagen, diese Diskussion sei Ihnen wichtig, aber nicht warum.
- Sie gehen immer noch nicht auf die Frage nach den zwei
Programmierkonzepten von TUSTEP ein, obwohl Sie dabei in "Quo vadis"
namentlich vorkommen.
Sinn offener Schnittstellen
---------------------------
"Zeigt doch mal, worin der besondere Wert einer solchen offenen
Schnittstelle bestehen koennte!"
Macht für Sie eine offene Schnittstelle wirklich keinen Sinn? Wie Sie
auf einer Tagung wörtlich und auch wahrheitsnah sagten: Sie kochen
selbst den Kaffee mit TUSTEP. Aber: In Frage stellen, daß eine offene
Schnittstelle Sinn macht, kann sich nur leisten, wer mit TUSTEP schon
versorgt ist.
Für andere, die dieses Glück nicht haben oder den Preis dafür zu hoch
finden, hätte eine offene Schnittstelle den großen praktischen Wert,
auch mit anderen Tools
(1) auf TUSTEP-Dateien einschließlich der Satznummer direkt zuzugreifen
(2) TUSTEP-Module in eigenen Prozeduren einsetzen, steuern, ersetzen,
ergänzen zu können.
Der Wunsch nach offenen Schnittstellen hat nicht nur eine rechtliche
(Danke an Herrn Mayer) und eine technische Seite. Er hat auch mit einem
Generationenproblem zu tun, auf das in einer frühen Zuschrift von Herrn
Till treffend hingewiesen wurde. Wer heute in TUSTEP investiert, hat bei
sehr hohem Einsatz (s. Herr Hammers Mail) beruflich so gut wie keine
Perspektiven. Mutatis mutandis gilt das auch für akademische
TUSTEP-Projekte. Gäbe es zwischen KOPIERE und anderen
Programmiersprachen zumindest Redundanzen, Synergieeffekte, sähe es
besser aus; man stiege leichter ein und aus. Die Wahrheit ist, daß wer
TUSTEP effizient einsetzt, von TUSTEP total aufgesogen wird. Wie uns die
Autoritäten überraschend freimutig und stolz bestätigen: Wer TUSTEP
wirklich kennt, kennt nur TUSTEP. Das ist ein hoher Preis. Daß die alte
Garde, die vorgesorgt hat, sich für diese auch existenzielle Problematik
junger bzw. neuer TUSTEP-Nutzer einfach nicht interessiert und zur
Ordnung ruft, finde ich nicht in Ordnung.
Auf dem Deckel des Handbuchs steht klar:
"Von der Ersterfassung der Quellen bis zur Publikation deckt TUSTEP alle
Arbeitsschritte ab."
Wer so denkt, will nichts anderes. Wäre die Empirie nicht so fies,
bräuchte der selbst UMWANDLE nicht. Wer hingegen andere Realitäten als
nur TUSTEP realisiert, dem gefällt das ganze UMWANDLE rein und raus (und
was kommt da rein? was kommt da raus?), das KOPIERE der Satznummer rein
und raus und bei signifkanten Satznummern auch EXECUTE auf Dauer nicht.
Dieser status quo ist praktikabel, wenn es um den einmaligen Import nach
TUSTEP geht. Braucht man den Datenaustausch aber systematisch aufgrund
einer anderen Arbeitsweise, sind diese Ansätze sehr beschränkt und
umständlich.
Der "Diskussion" liegt somit eine tiefe Differenz der Gesichtspunkte,
der Prämissen und der Arbeitsweisen zugrunde. Diese Differenz ist
möglicherweise unüberbrückbar. Viele, die hier die Insel verteidigen,
haben noch nicht bemerkt, auf einer Insel zu leben.
XML-Unterstützung
-----------------
Früher habe ich den Austausch zwischen TUSTEP und dem Rest der Welt auf
der Ebene der XML-Konvertierung gehandhabt (Punkt 1 oben):
http://www.giacomazzi.de/tustep/word2xml2tustep.html.
Da drängt sich der Folgesatz vom Deckel des Handbuchs auf:
"Die Unterstützung moderner Standards wie XML und Unicode garantiert die
langfristige Nutzbarkeit der mit TUSTEP erarbeiteten Daten."
Wenn überhaupt unterstützt TUSTEP eine Untermenge von XML in einigen
Unterprogrammen. An XML-Export, was für die langfristige Nutzbarkeit
nötig wäre (technisch auch spannend), gibt es nichts, außer, was der
Benutzer sich selber baut. Die langfristige Nutzbarkeit von TUSTEP-Daten
ist somit ausschließlich an die langfristige Nutzung von TUSTEP gebunden.
Nummeriere-Beispiel
-------------------
Der Nummeriere-Beitrag geht über die Konvertierungsebene (1) einen
Schritt weiter zur Ebene (2), dem Zusammenspiel von Software-Komponenten
zur Laufzeit. Ist wirklich nicht klar, wovon die Rede ist? Nichts
anderes ist gemeint als das Zusammenspiel der Ihnen allen bekannten
TUSTEP-Programme innerhalb einer TUSTEP-Prozedur, nur erweitert um
fremde Module und Tools; und anders herum: um das Zusammenspiel aller
Komponenten auch innerhalb einer fremden Prozedur (Python, Batchdateien,
was Sie wollen).
Daß das pythonische Beispiel eine Schwäche der Originalversion, dem
NUMERIERE von TUSTEP ausbügelt, ist dabei Nebensache, aber nicht
uninteressant. (Die 99999er-Grenze stört schon, wenn man z.B. 10
verschiedene ID-Reihen hat und dann für jede nur 9999 Nummer übrig
bleiben.) Zentral beim NUMMERIERE-Beitrag ist vielmehr, daß alle Aspekte
der Arbeit an und mit TUSTEP unter einem modernen Konzept in den Blick
kommen: Den Belangen des Benutzers, des "Power-Users" und des
Entwicklers wird Rechnung getragen, aber zugleich werden fließende
Übergänge zwischen diesen Sphären sichtbar, wie sie derzeit undenkbar
sind. Bei modernen Skriptsprachen kann der "Benutzer" viel leichter zum
"Power-User" werden, ein "Power-User" kann dem Entwickler zuarbeiten.
Fürchten jetzt die "Power-User" um ihre Machtstellung?
Falls jemand den absurden Eindruck hat, ich möchte TUSTEP durch Python
ersetzen, der lese den Python-Beitrag noch einmal. Steht da nicht: "Fuer
den Profi andererseits waere es moeglich, einen solchen Prototyp etwa in
C++ (oder Fortran) zu transponieren und aus dem Prototyp ein hoch
performantes TUSTEP-Modul zu machen." Ich wiederhole: "ein hoch
performantes TUSTEP-Modul zu machen"
Bitte nehmen Sie, Herr Trauth, die Zuordnung der Beispiele zu den
genannten Kompetenzen zur Kenntnis; ich habe das nun im Code expliziert.
Das nicht so einfache Grundmodul (Teil 3) richtet sich doch an den
Entwickler und nicht an den Benutzer! Warum vergleichen Sie also die
Klassen mit einer numeriere-Anwengung in TUSTEP anstatt diese mit meinen
Anwendungen 1, 2 und nach den Klassen zu 3 und 4? Ist denn
#nu,q,z,,+,*
LNR |==|
VNR |#..|
*eof
wirklich klarer als "numberAll" oder bedarf es dazu nicht 6 Zeilen
Kommentars? (Immerhin kommentieren Sie). Wo bleibt bei Ihnen der
eigentliche NUMERIERE-Code? Der ist ja in Tübingen und würde nie auf
eine halbe Seite passen. Ist das aber ein guter Grund, Birnen mit Äpfeln
zu vergleichen?!
Nichts lag mir ferner als ein Wettbewerb, wer den kürzesten oder den
schnellsten Code liefert. Mir und Herrn Derkit ist auch nicht
eingefallen, Python und Ruby gegeneinander auszuspielen. Wenn es um
Gesamtperspektiven geht, sollte sowieso nicht ein Beispiel oder ein
Aspekt, sondern die Bilanz entscheiden.
Ich habe mir oft ähnliche Beiträge von TUSTEP-Fachleuten gewünscht!
KOPIERE vs. Makros
------------------
Ich wünschte mir, Sie würden auf die Sie ansprechende Frage nach dem
Verhältnis von KOPIERE und Makros bei TUSTEP eingehen. Kopiere ist
museumsreif, aber das bei weitem verbreitetste Modell. Sie lehren beide,
aber zwei Programmierkonzepte sind zu viel und alles andere als
selbstverständlich. Das ist ein hausgemachtes TUSTEP-Problem, auf dessen
Erörterung ich schon lange warte - von wegen Python oder Ruby. Schreiben
Sie doch mal ein Tutorial und ein Kochbuch zur Makrosprache und setzen
Sie beides ins Netz. Dann könnte sich jeder eine fundierte Meinung
bilden, eine Lern- und Arbeitsstrategie entwickeln. Wenn es gute
Literatur zur Makrossprache und zu TUSTEP gäbe, wäre diese Diskussion
nicht so aufgekommen. Hier ist Platz für Gegenentwürfe.
Übrigens will ich daran erinnern, daß "Quo vadis?" mit einem
Fragezeichen endet und 15 Fragezeichen enthält. Wenn konkrete
Alternativen vorgeschlagen werden, stehen sie in Klammern mit dem Wort
"Vorschlag" davor. Bitte versuchen Sie den Entwurf zu verstehen, anstatt
an bestimmten Vorschlägen zu kleben.
Dateiformat
-----------
Ob das Dateiformat, Ihr Hauptthema, nun binär oder Text ist, ist aus
meiner Sicht wichtig, aber nicht entscheidend. Entscheidend ist nur der
Zugriff auf die Dateiinhalte. Es gibt Satzprogramme, die Zeilennummern
beherrschen und in anderen Belangen dem #SATZ von TUSTEP überlegen sind:
sie haben Text als Dateiformat, unterstützen zumindest eine
Skriptsprache besonders und schließen keine aus. Gut 3/4 aller
TUSTEP-Projekte laufen auf Satz hinaus. Wenn aber das Dateiformat binär
sein muß, gehört sich eine Schnittstelle, die anderen Tools lesenden und
schreibenden Zugriff auf TUSTEP-Dateien ermöglicht; WordPerfect-Dateien
lassen sich doch in TUSTEP lesen und schreiben. Sollte diese
Schnittstelle nicht machbar sein, wo doch bei TUSTEP sonst alles geht,
dann würde ich mir wünschen, nicht auch noch zwei Programmierkonzepte
beherrschen zu müssen, um mit TUSTEP-Dateien sinnvoll arbeiten zu
können. Das ist eigentlich alles.
Ich fragte unter anderem:
> Könnten Sie (Herr Schälkle) Beispielcode zur Verfügung stellen,
> wie man TUSTEP-Dateien lesen (parsen) und schreiben kann?
Wenn es, wie Sie behaupten, keine Geheimnisse gibt, dann kann und soll
dieser Beispielcode allgemein verfügbar gemacht werden, z.B. unter
"Nützlichem" auf der Homepage der ITUG.
Mein pythonisches Konzept verlangt übrigens nicht einmal Open Source,
sondern eben dokumentierte Schnittstellen; das war auch als
Entgegenkommen gedacht. Wenn es aber zutrifft, daß die Mitarbeiter der
TUSTEP-Abteilung den Code zum Satzprogramm noch nie gesehen haben oder
daß ihnen verwehrt ist, sich damit zu beschäftigen: Wie sollten sie eine
Schnittstelle oder sonstige Ergänzungen zum Satzprogramm liefern?
Sie sprechen dann Gigabyte große Dateien an, die nur binär zu
beherrschen wären. Das ist eher verständlich, obwohl es auf dem Gebiet
inzwischen viel mehr Nuancen existieren als bei der Schwarz-Weiß-Malerei
von Herrn Mayer. TUSTEP nun also auch als Oracle-Ersatz hat m.W. nicht
gerade eingeschlagen. Ich kenne Projekte, wo diese Art des
TUSTEP-Einsatzes kategorisch abgelehnt wurde, und erinnere mich an ein
Projekt, bei dem der Kunde doch auf eine traditionelle relationale
Datenbank zurückruderte. Wenn Sie aber in Trier (es interessiert mich,
wer sonst?) gigabyte-große Dateien in einem Format pflegen, das nur ein
Programm zu lesen vermag, würde ich an Ihrer Stelle wirklich auf den
Quellcode bestehen und dazu noch eine Versicherung mit Tübingen
abschließen. Das wäre ein Grund mehr, auf das Dateiformat acht zu geben.
Ihre Aufforderung das Thema ruhen zu lassen, könnte leicht mit einem
Eigentor enden.
Workshop?
---------
Der Workshop an sich ist eine schöne Idee. Ich sehe aber wenig Sinn
darin, wenn die TUSTEP-Verantwortlichen nicht auf TUSTEP-Fragen
reagieren und im Vorfeld wichtige TUSTEP-Themen von der Tagesordnung
gestrichen werden. Die bisher eingegangene Rückfragen zu Python und Ruby
können auch ohne meinen und Herrn Derkits persönlichen Einsatz geklärt
werden, denn hier mangelt es nicht an guter Literatur. Ansonsten, wenn
mehr Antworten von TUSTEP-Seite da sind oder auch nur die rechtliche
Problematik diskutiert wird, ist die Idee gut.
Herzliche Grüße,
Giorgio Giacomazzi
Mehr Informationen über die Mailingliste Tustep-Liste