[Tustep-Liste] TUSCRIPT und Rosetta Code

Thomas Kollatz kol at steinheim-institut.org
Fr Jan 28 11:44:03 CET 2011


Liebe Liste, 

vor einiger Zeit hat die Computerzeitschrift c't unter der Überschrift "Vergleichende Code-Forschung" auf die Website Rosetta Code aufmerksam gemacht: "Die Betreiber der Site haben es sich zur Aufgabe gemacht, typische bei der Programmierung anfallende Aufgaben in 'so vielen Programmiersprachen wie möglich' zu präsentieren". (s. http://www.heise.de/ct/artikel/Websites-aktuell-925768.html). 

Das hat mich neugierig gemacht und inspiriert einige der 458 Aufgaben mit TUSCRIPT - der TUSTEP eigenen Programmiersprache, mit der ich bald 10 Jahre täglich immer wieder gerne arbeite - zu lösen. 
Seit Anfang Januar ist auch TUSCRIPT unter den nun 356  Programming Languages zu finden. 
http://rosettacode.org/wiki/Category:TUSCRIPT

Die Aufgaben sind durchwachsen von ganz einfach bis sehr schwer, banal bis anspruchsvoll und in der Regel kurz und klar.
Neben (mehr oder weniger) spassigen - 24game, 99bottles, bulls and cows, guess the number, number reversal
informellen - Rename a file, comments, copy a string, Hello World
mathematischen -  Ethiopian multiplication, Luhn test of credit card numbers, multiplication tables, stem-and-leaf
webbezogenen - host name, RC Count examples, web scraping
exotischen - morse code, fractal tree  
sind auch einige "philologisch wertvolle" Aufgaben darunter: Anagrams, ordered words, Palindrome, Pangram ...
und  auch bei den kalenderbezogenen tasks macht TUSCRIPT eine recht gute Figur: day of the week, Five weekends, Holidays related to easter, Leap Year ...

Alle - bisher - 62 mit TUSCRIPT gelösten tasks habe ich getestet (allerdings meist nur unter Windows). Sie sollten mit der (aller)neuesten TUSTEP-Distribution auch auf anderen Rechnern laufen.

Die TUSCRIPT-Funktionen sind ja im Handbuch bereits allesamt mit anschaulichen Beispielen vorgestellt. 
Die RC-Beispiele zeigen deren Zusammenspiel und haben so vielleicht auch einen didaktischen Wert, indem sie den einen und die andere  dazu inspirieren einmal TUSCRIPT auszuprobieren.

In den meisten Fällen lässt sich mit einem eingeschobenen TRACE (nur bei tasks, bei denen REQUEST verwendet wird, ist das nicht zu empfehlen, denn da kommt u.U. sehr viel über den Schirm gelaufen) 
  $$ MODE TUSCRIPT
  TRACE all
Schritt für Schritt verfolgen, wie die Variablen gefüllt bzw. geändert werden und die Aufgabe gelöst wird. 

Wer es ausprobieren will kann einfach das Skript aus dem RC-Wiki kopieren, im TUSTEP-Editor einfügen und dann mit der Anweisung
x #ma,<editor>
direkt aus dem Editorfenster heraus ausführen.

Ich habe das in erster Linie aus Spass an der Freude gemacht, es hat mich einfach gereizt und nebenbei habe ich auch noch einiges neues kennengelernt. Schöner Nebeneffekt ist, dass die TUSCRIPT-Lösung in der Regel hilft, die Vorschläge der anderen Programmiersprachen zu verstehen und nachzuvollziehen und dass es nun eine Referenzseite zu TUSCRIPT  im Kontext anderer moderner Skriptsprachen gibt, schadet sicher auch nicht.

Bisher ist es ein one-man-project ... das muss aber keineswegs so bleiben ... mit 396 unsolved tasks gibt es noch  genug zu knobeln und Alternativvorschläge sind auch gern gesehen.
Vielleicht sucht ja jemand einen kurzweiligen Zeitvertreib für lange Winterabende und hat Lust mitzumachen. Ich hätte ein kleines Skript anzubieten, dass ein TUSCRIPT-Skript in die korrekte RC-Wiki-Form bringt, das ich gerne zur Verfügung stelle.

Herzliche Grüße
THOMAS KOLLATZ

drs Thomas Kollatz  - wissenschaftlicher Mitarbeiter / research assistant
* Salomon Ludwig Steinheim-Institut fuer deutsch-juedische Geschichte
  D-47057 Duisburg  Geibelstr. 41 T 0203-370071  F 0203-373380
* Institut <http://www.steinheim-institut.de/wiki/index.php/Mitarbeiter:Thomas_Kollatz>
* Epigraphische Datenbank <http://www.steinheim-institut.de/cgi-bin/epidat>



Mehr Informationen über die Mailingliste Tustep-Liste