[Tustep-Liste] Re: Quo vadis? - Geschichtliches

Giorgio Giacomazzi giorgio at giacomazzi.de
Di Jun 29 10:38:27 CEST 2004


Lieber Herr Seck,
liebe Listenteilnehmer,


#NU --> #KO --> K.O. --> O.K <-- #NU
====================================

 > Ich vermute auch, daß die angesprochenen Skripte eher einfache
 > Probleme lösen, wie in dem Numerierbeispiel (überträgt es veränderte
 > Nummern auch in andere Dateien, in denen die Einträge aus der
 > ersten Datei zitiert werden?).

Mir war hier nicht klar, welches komplexe numeriere-Problem gemeint ist, 
und ich bat dazu um ein TUSTEP-Beispiel. Sie kündigten allerdings ein 
kopiere-Beispiel an, sodann ein 33 KO-Beispiel, welches ich das 
K.O.-Beispiel nannte und das nun vorliegt. In diesem sehr interessanten, 
aber sehr langen und implikationsreichen Programm sehe ich zwei 
#NU-Anweisungen mit Modus MERKE und HOLE, die Sie vielleicht oben 
gemeint hatten; MERKE und HOLE hatte ich in der Tat nicht behandelt. Ich 
werde demnächst das Versäumnis nachholen, einfach um NUMERIERE gerecht 
zu werden.

Wenn aber eher der Beweis erwartet wurde, daß Skriptsprachen den 
Leistungsumfang von #KO abdecken, dann scheitert dies schon an den 
praktischen Schwierigkeiten, die Sie in der Begleitmail erkannt haben. 
Diese Fragestellung ist aus meiner Sicht auch nicht ganz richtig. Mein 
Problem mit KOPIERE war nie die Leistungsfähigkeit, sondern der 
Lernaufwand, die unübliche Denkart und das Regelwerk, die #KO verlangt. 
Beweise der Leistungsfähigkeit führen von diesem Thema ab. Dagegen paßt 
zum Ihr Aufsatz, den ich mit großem Interesse gelesen habe und nun zum 
Anlaß nehme, einige historische Betrachtungen anzustellen.


Geschichtliches
===============

Anläßlich der Lektüre von F. Secks Beitrags 'TUSTEP in der UB Tübingen' 
habe ich auch andere historische Zeugnisse unter dem Gesichtspunkt 
'TUSTEP und Skriptsprachen' durchgesehen. (Meine Sammlung ist sehr 
klein, s.u.)

Ein Hauptthema dieser Zeugnisse ist der Anfang der 70er Jahre erfolgte 
Übergang von der Programmierung in FORTRAN (am Rechenzentrum der Uni 
Tübingen) zur parametergesteuerten Ausführung fertiger Programme (durch 
Benutzer in den Fachbereichen der Uni Tübingen). Dieser Schritt war 
damals sicher ein enormer Fortschritt. Man könnte auch so weit gehen zu 
sagen, daß die damals entstandenen TUSTEP-Unterprogramme etwas wie 
'spezialisierte Skriptsprachen' innerhalb der Gesamtanwendung TUSTEP 
sind. Das ist ein durchaus moderner, damals bahnbrechender Ansatz.

Aus heutiger Sicht nicht leicht zu verstehen ist aber die Art, wie 
dieser Übergang vollzogen wurde. Wie konnte man glauben, daß immer 
länger werdende Parameterlisten, hunderte von Parameterkürzeln aus 1-2, 
max. 3 Buchstaben 'benutzerfreundlicher', 'leichter' zu verstehen wären 
als klassische Programmierkonstrukte? In TUSTEP wurden Funktionen, 
Subroutinen, Schleifen und Bedingungen für den Benutzer nicht zugelassen 
oder versteckt, dafür wurde in KOPIERE eine Sprungtabelle realisiert, 
die heute viel komplexer wirkt.

Ein Blick in die Chronik (http://www.giacomazzi.de/tustep/history.html) 
zeigt, daß TUSTEP sogar vor C und Pascal konzipiert wurde. Damit waren C 
und Pascal keine Größen, an denen sich TUSTEP orientieren konnte oder 
musste. Eher Fortran IV (1963). Wie konnte man aber in den 80er und 90er 
Jahren, wie kann man noch in diesem Jahrtausend glauben, daß diese Art 
der "parametergesteuerten Programmierung", wie man das alte 
Programmierkonzept von TUSTEP nennen könnte, benutzerfreundlicher und 
effizienter ist als das Konzept moderner Skriptsprachen? Mein Verdacht 
ist: Die Erfolgsgeschichte von TUSTEP hat den Blick für parallel 
stattfindende Entwicklungen, für den main stream, verstellt. TUSTEP ist 
immer TUSTEP geblieben. Es hat Neues entweder zu sich selbst kompatibel 
(proprietär) gemacht oder dem Neuen getrozt. Selbst die neue 
Makrosprache, die endlich echte prozedurale Programmierung in TUSTEP 
ermöglicht, scheint (bei flüchtigem Vergleich) sich eher an neuere 
Versionen von Fortran anzulehnen. Treue wird bei TUSTEP groß 
geschrieben; ihr muß sich alles unterwerfen.


Performance
===========

Die andere Seite der Medaille soll nicht verkannt werden. Die frühe 
Entstehung von TUSTEP hat gerade geschichtlich bedingte Vorteile: Sie 
zwang die Entwickler zum sparsamen Umgang mit den wenigen vorhandenen 
Hardware-Ressourcen. Das Ergebnis ist, daß TUSTEP-'Prozeduren' heute 
noch bes. bei großen Datenmengen eine höhere Ausführungsgeschwindigkeit 
haben als vergleichbare Skripte. Leider ist der Preis für die 
Ausführungsgeschwindigkeit von TUSTEP-'Prozeduren' die Langsamkeit bei 
der Entwicklung. Dieser Gesichtspunkt hat mich z.B. dazu veranlaßt, von 
Perl zu Python zu wechseln. Nur wenige TUSTEP-Profis vermögen es, die 
Ausführungsgeschwindigkeit von TUSTEP in Gewinn umzubuchen.

Wenn es gelänge, beides, Performance und ein offenes modernes Konzept 
zusammenzubringen, hätte TUSTEP eine Zukunft. Viele, die den Namen noch 
nicht gehört haben, würden neugierig auf TUSTEP schauen. Dazu müsste 
TUSTEP sich allerdings ein wenig untreu werden.

- - - - - - - - - - -

Obige Ausführungen sind etwas spekulativ, möglicherweise fehlerbehaftet. 
Schließlich fehlen noch viele Informationen. Für Korrekturen und weitere 
Informationen zur Entwicklungsgeschichte von TUSTEP bin ich sehr 
interessiert.

Ein Beitrag, der gut beim Workshop, den Herr Trauth angeregt hatte, 
Platz fände, wäre einfach, daß die Entwickler Auskunft geben, wie sie 
die technische Machbarkeit der verschiedenen ins Gespräch gebrachten 
Optionen zur Modernisierung von TUSTEP sehen und ihre Einschätzung 
technisch erläutern. Das wäre auf jeden Fall ein Gewinn, wenn man sich 
die kurze, blendend klare Mail von Herrn Schälkle über das Dateiformat 
von TUSTEP anschaut. Niemand kann verlangen, was nicht machbar ist. Aber 
was machbar ist, wüsste gerne, wer in TUSTEP investiert. Was dann 
vertretbar ist (z.B. Text als Dateiformat ja, nein, wie) kann nicht a 
priori feststehen; es kann nur das Ergebnis einer abwägenden Diskussion 
sein, die Herr Sappler zurecht angemahnt hat.

Herzliche Grüße,

Giorgio Giacomazzi


Mehr Informationen über die Mailingliste Tustep-Liste