Stricken und Programmieren: von 1 links/1 rechts zu 1010

zurück zur ersten Seite

Stricken und Programmieren: ein Musterrapport ist auch nur eine Schleife

Es ist weit mehr die Analogie von rechten und linken Maschen, Einsen und Nullen sowie einer unverständlich erscheinenden Textform, die das Stricken und Programmieren verbindet. Entwicklerin und Autorin Katie Cunningham zeigt in folgendem Video anschaulich die Gemeinsamkeiten der beiden Fertigkeiten auf und beschränkt sich dabei nicht nur auf die technischen Aspekte.

Michelle Craig und ihre Co-Autor:innen gehen in „Following a Thread: Knitting Patterns and Program Tracing“ dagegen genauer auf die Analogien von Programm- und Anleitungsbestandteilen ein. Einige davon werden hier aufgegriffen und näher erläutert.

Vokabular

Wie alle Fachbereiche zeichnen sich auch das Stricken und Programmieren durch ein bestimmtes Vokabular aus, das es zu erlernen gilt. Beim Programmieren sind das die Namen und Bedeutung von Funktionen, Attributen, Argumenten und vielem mehr, während es beim Stricken um Maschenarten, Garneigenschaften und Techniken geht. Beiden ist gemein, dass es sich nicht ausschließlich um natürliche Sprache handelt, d.h. es fließen Abkürzungen, Kunstwörter und Sonderzeichen mit in das Vokabular ein. Der große Vorteil der (allermeisten) Programmiersprachen ist jedoch, dass sie jeweils nur auf dem Englischen beruhen . Der Austausch von Code zwischen Programmierer:innen mit unterschiedlichen Sprachkenntnissen ist somit problemlos möglich (abgesehen von den Kommentaren).

Bei Anleitungen können Stricker:innen dagegen auf ihre Muttersprache zurückgreifen. Somit ist zwar ein zumindest teilweises Verständnis des Anleitungstextes auch ohne Strickkenntnisse möglich, der internationale Austausch gestaltet sich jedoch schwieriger. Die nachfolgende Musterbeschreibung zeigt die Unterschiede zwischen einer deutschen und englischen Anleitung für das auf der ersten Seite beschriebene Flechtmuster.

R 1 * 6 M li, 2 M re; ab * fortl wdh, 6 M li.
R 2 6 M re, * 2 M li, 6 M re; ab * fortl wdh.
R 3 Wie R 1 str.
R 4 2 M re, 2 M li, * 6 M re, 2 M li; ab * fortl wdh, 2 M re.
R 5 2 M li, * 2 M re, 6 M li; ab * fortl wdh, 2 M re, 2 M li.
R 6 Wie R 4 str.
R 1–6 fortl wdh.
Row 1 * p6, k2; rep from *.
Row 2 k6, * p2, k6; rep from *.
Row 3 Rep Row 1.
Row 4 k2, p2, * k6, p2; rep from *, end with k2.
Row 5 p2, * k2, p6; rep from *, end with k2, p2.
Row 6 Rep Row 3.
Rep Row 1-6 for pattern.  

Es wird deutlich: Die englische und deutsche Anleitung unterscheiden sich zwar in ihrem Vokabular, in ihrem Aufbau sind sie jedoch nahezu identisch. Somit ist es Stricker:innen ohne die entsprechenden Sprachkenntnisse möglich, sich mit verhältnismäßig wenig Aufwand in anderssprachige Anleitungen einzuarbeiten.

Syntax

Im Syntax von modernen Strickanleitungen wird die Ähnlichkeit zwischen dem Stricken und Programmieren noch deutlicher als beim Vokabular. Genau wie Programmcode enthalten Anleitungen algorithmische Strukturen mit Schleifen, Funktionen und Assertionen.4

Eine Schleife ist die Wiederholung eines Abschnittes, bis eine bestimmte Bedingung erfüllt wird. Beim Stricken spricht man von einem Musterrapport, der sich innerhalb einer Reihe befinden, aber auch über mehre Reihen erstrecken kann. Wie die Schleifen beim Programmieren können auch innerhalb eines Rapports Wiederholungen auftauchen.

Beispiel Schleife
1 M re, 5x (2 M re, 2 M li), 3 M re.knit(1)
for i in range(5):

knit(2)
purl(2)
knit(3)

Hier handelt es sich um eine simple for-Schleife, aber auch while-Schleifen sind beim Stricken möglich. Diese sind dann jedoch eher in Fließtexten zu finden mit Angaben wie „gl re str, bis der Fuß 5 cm weniger als die Gesamtlänge misst“.

Ein Codeblock, der eine bestimmte Funktion bereitstellt, wird als Subroutine oder Unterprogramm bezeichnet. Dieses Unterprogramm kann eigenständig sein und an einem beliebigen Punkt aufgerufen werden. Bei Strickanleitungen handelt es sich dabei um besondere Techniken, die nicht zum Standardrepertoire gehören, jedoch ein- oder mehrmals im Projekt zum Einsatz kommen. Wie ein Unterprogramm werden sie durch einen Bezeichner identifiziert. Das kann der Name des Musters sein (z.B. „Lacemuster“) oder auch eine Abkürzung, die nicht im standardmäßigen Abkürzungsverzeichnis zu finden ist.

Abkürzungen für besondere Techniken vor Beginn der eigentlichen Anleitung in Designer Knitting 03/2019.

Durch die einmalige Beschreibung einer Subroutine/eines Musters/einer Technik wird Platz eingespart – sei es im Speicher oder im Layout.

Eine Assertion ist eine Aussage über den Zustand des Programms, mit deren Hilfe Fehler erkannt werden können. Solche Sicherstellungen sind auch in Strickanleitungen häufig zu finden, vor allem, wenn es zu Änderungen in der Maschenzahl kommt.

Beispiel Assertion
Zun-R 2 M re, 1 re gen M zun, bis zu den letzten 2 M re str, 1 li gen M zun, 2 M re
[2 M zugenommen].
42 M anschl.
R 1–4 Gl re str.
R 5 Die Zun-R str [44 M].
R 6 Gl re str.
R 1–6 noch 3x wdh [50 M].

Von der Nadel an die Tastatur

Wer stricken kann, wird nicht auf wunderbare Weise zum Programmiergenie. Da Stricken und Programmieren jedoch besonders im Bereich der Syntax Gemeinsamkeiten aufweisen, können Fertigkeiten in einem Bereich auch nützlich für den anderen sein. Als eine Form des „unplugged coding“ schulen das Stricken und die korrekte Interpretation der Anleitungen, Abstraktionsvermögen, logisches Denken, Problemlösen und ein Auge für Details – Fähigkeiten, die auch beim Programmieren unerlässlich sind. An dieser Stelle soll nicht unerwähnt bleiben, dass das Stricken damit auch Personen Zugang zur IT ermöglicht und ihr Interesse wecken kann, die dieses Feld nicht selbst in Betracht ziehen würden.

Quellen

BBC (2009): MI6: A Century in the Shadows. Online unter https://www.bbc.co.uk/sounds/play/b00lrsnk [Abruf am 27.01.2023]


Craig, M; Petersen, S; Petersen, A (2012): Following a Thread. Knitting Patterns and Program Tracing. In: SIGSCE’12: Proceedings of the 43rd ACM Technical Symposium on Computer Science Education, Raleigh, 29.02.-03.03.2012. New York: Association for Computing Machinery, S. 233-238


Dodson-Snowden, Emily Rose (2022): Knitting Code. Examining the Relationship between Knitting and Computational Thinking Skills using the Nexus of Practice. Dissertation. University of Kentucky. Lexington. Online unter https://doi.org/10.13023/etd.2022.99 [Abruf am 29.11.2022]


Fear, Jenna (2017): The Knitting War Spies of History. Online unter https://handwovenmagazine.com/knitting-war-spies-history/ [Abruf am 29.11.2022]


Zarrelli, Natalie (2022): The Wartime Spies Who Used Knitting as an Espionage Tool. Zuletzt aktualisiert am 16.03.2022. Online unter https://www.atlasobscura.com/articles/knitting-spies-wwi-wwii [Abruf am 29.11.2022]