Schreiben? Einfach. Nur die Buchstaben in die richtige Reihenfolge bringen.

Todesengelprogramm oder def werLebtNoch():

Bei mei­nen frü­he­ren Büchern gab es viel zu re­cher­chie­ren – hier, beim »Mauersegler« zur Abwechslung mal et­was zu pro­gram­mie­ren. Zu dem Pakt, den die fünf Alten schlie­ßen, ge­hört der ge­gen­sei­ti­ge Beistand in der Sterbestunde. Jeder soll sich den­je­ni­gen er­wäh­len, den er in die­sem Moment an sei­ner Seite ha­ben will. Ernst, der Programmierer un­ter den fün­fen, schreibt da­für ein Programm. Dieses soll ei­nen ge­re­gel­ten Wahlvorgang ga­ran­tie­ren, die Ergebnisse ver­trau­lich kap­seln, und dann, wenn es ernst wird, die Benachrichtigung aus­sen­den. Das war so die Idee. Aber funk­tio­nie­ren soll­te sie auch. Also ha­be ich das Programm – so ne­ben­her zur Arbeit am Roman – ent­wi­ckelt. Eine zwei­te Sprachebene, so­zu­sa­gen. Eine Beispielsfunktion dar­aus:
def wer­Lebt­Noch(): bewohner_aktuell = [] try: da­hin­ge­gan­gen = DateiManager.lese(»src/data/«, »verstorben.log«) ex­cept: da­hin­ge­gan­gen = None
    if da­hin­ge­gan­gen is None: pass
    el­se: if wg­lis­te[0] in da­hin­ge­gan­gen: ui.checkbox_name1.setCheckState(True) ui.button_name1.setEnabled(False) ui.editFeld_1.enabled = False ui.meldung_name1.setEnabled(False) el­se: …
Jeder Programmtext (auch der Code-Schnipsel oben, ge­schrie­ben in Python 3) folgt nicht nur ei­ner Rechtschreibung (Syntax), ei­ner Grammatik, son­dern – das ist für mich das Faszinierende am Programmieren –, er­mög­licht auch ei­nen Stil, ei­nen in­di­vi­du­el­len Ausdruck. Der sel­be Output lässt sich auf vie­le Weisen er­rei­chen. Aber ele­gant ist die Knappheit, der di­rek­te Ansatz, der­je­ni­ge, der das Ziel mit dem ge­rings­ten Aufwand und der größ­ten (schein­ba­ren) Leichtigkeit er­reicht. Das ist im Grunde nicht viel an­ders als das Romanschreiben (für mich je­den­falls). Sicher, da hat man da­zu noch die Grauschattierungen, die Bedeutungsunschärfen der na­tür­li­chen Sprache, die Leerstellen, das nicht Gesagte, all die Möglichkeiten der Kostümierung, und des­halb auch die Möglichkeit der Entblößung, des kla­ren, un­ver­kleis­ter­ten Textes. Programmtext ist da­ge­gen ge­wis­ser­ma­ßen im­mer schon nackt und un­zwei­deu­tig:
try: da­hin­ge­gan­gen = DateiManager.lese(»src/data/«, »verstorben.log«) ex­cept: da­hin­ge­gan­gen = None
Das kann im Grunde je­der le­sen. Es ist ei­ne Anweisung, die Variable da­hin­ge­gan­gen mit Daten zu fül­len, die ein DateiManager aus ei­ner Datei na­mens verstorben.log im Verzeichnis src/data le­sen soll. Ein Versuch, al­so try:, weil das Lesen fehl­ge­hen kann; ent­we­der, weil die Datei nicht exis­tiert oder nichts ent­hält. Und ex­cept: weil die Variable für den Fehler-Fall den Wert None zu­ge­wie­sen be­kommt. Im Klartext: »da­hin­ge­gan­gen« ist die Liste der­je­ni­gen, die in der Datei »verstorben.log« ge­spei­chert sind. Kann je­mand ver­ste­hen, dass sol­che Programmzeilen zu schrei­ben mir ähn­lich Spaß macht wie das Schreiben ei­ner (ge­lun­ge­nen) Romanzeile? Weiter: wgliste[0] be­zeich­net den ers­ten in der al­pha­be­ti­schen Liste der WG-Bewohner, Carl, den Erzähler.
if wg­lis­te[0] in da­hin­ge­gan­gen: ui.checkbox_name1.setCheckState(True) ui.button_name1.setEnabled(False) ui.editFeld_1.enabled = False ui.meldung_name1.setEnabled(False) el­se:
Wenn Carl in der Liste der Dahingegangenen steht, ist er of­fen­sicht­lich ver­stor­ben. Also er­hält das »Verstorben«-Kästchen ne­ben sei­nem Namen ein Häkchen (setCheckState(True)), und noch ein paar an­de­re Dinge wer­den ent­spre­chend ein­ge­rich­tet. Ich bin bei wei­tem kein per­fek­ter Programmierer – aber das »Todesengelprogramm« aus dem Mauersegler funk­tio­niert, wie dort be­schrie­ben. Oder folgt der Roman der Programmierung? Wer weiß. Wer’s aus­pro­bie­ren möch­te, auf dem ei­ge­nen PC, kann das tun