J-Workshop (CLT 2013, 2024)

Thema

J ist eine Programmiersprache fuer parallele Datenverarbeitung, die sich ebenso im interaktiven "Taschenrechner-Modus" wie fuer groessere Programm-Entwicklung bewaehrt. Ein fertiges Linux-Paket und die OpenSource-Quellen sowie die offizielle Sprachdefinition gibt es frei verfuegbar unter http://jsoftware.com/.

Die aeusserst kompakte Notation arbeitet in der Hauptsache mit ASCII-Sonderzeichen anstelle von Schluesselwoertern, bspw. /: statt "sort ascending" oder >: anstelle von "increment". Entsprechend kryptisch sieht J-Code fuer Sprachfremde aus. Der Weihnachtsbaum

# ### ##### ####### ######### ########### ############# ############### ################# ################### ##################### # laesst sich beispielsweise durch den Einzeiler (,{.)' #'#~(|.,.1:++:)i.11 erzeugen. (Womit man gelegentlich auch einen Ipod gewinnen kann, Details gibt es unter http://gaertner.de/~neitzel/xmas-j.html.)

Der Workshop beginnt mit einem kurzen Ueberblick ueber Geschichte und Charakter der Sprache. Hauptsaechlich werden wir dann anhand einer Serie von praktischen Uebungen eine Untermenge der Sprache solide kennenlernen.

Empfohlen (aber nicht zwingend noetig): bitte Laptops o.ae. mit Netzwerk (WLAN/langes Kabel) mitbringen, um selber J-Code eintippen zu koennen. Dazu reichen ssh oder ein moderner Webbrowser. Eine Installation des J-Systems ist nicht noetig.

Zielgruppe

Typische J-Anwender in der realen Welt sind:

J-Anwender haben viel Spass, weil sie i.d.R. mit zwei Zeilen J soviel Antworten bekommen wie wie C-Programmierer mit zehn Seiten C.

Im Workshop werden keine sonstigen Programmier-Kenntnisse in irgendeiner anderen Sprache vorausgesetzt.

Alle Workshop-Teilnehmer werden in einer gemeinsamen Interpreter-Sitzung arbeiten. Dabei werden wir uns alle fleissig mit Fehlern blamieren, aus genau denen aber auch am meisten lernen.

Wir werden bewusst nur eine kleine Untermenge der ca. 240 Sprachelemente verwenden, dabei aber die grundlegenden Regeln und Konzepte so sorgfaeltig besprechen, dass damit eine solide Basis fuer eine weitere, eigenstaendige Erkundung der Sprache gelegt wird.

Fuer die Workshop-Teilnahme sind keine Englisch-Kenntnisse noetig. Wer sich aber nach dem Workshop noch selbstaendig weiter mit J beschaeftigen moechte, kommt ohne zumindest rudimentaere Englisch-Kenntnisse nicht aus; es gibt praktisch keinerlei deutsche Dokumentation.

Referent

Martin Neitzel nutzt J seit dessen Anfaengen vor ueber dreissig Jahren. Als Mitglied des Entwickler-Teams hat er J fuer Linux- und andere Unix-Varianten portiert.