Habe soeben daran gedacht, dass ich ja eigentlich über die Fehlersuche schreiben wollte, die jedem Programmierer jeden Tag begegnet.
Und da ist mir wieder meine alte Zifferngeschichte (https://erstersein.files.wordpress.com/2007/02/zifferngeschichte2.pdf) über den Weg gelaufen, wo in etwa folgendes steht:
[…] Ein Computer tut alles, was der Programmierer will – nein – er tut alles, was der Programmierer ihm aufgetragen hat – ausgenommen, es liegt ein Fehler vor, der tiefer sitzt […]
Klar, wenn ich dem Computer „falsche“ Anweisungen gebe, dann wird er ein „falsches“ Stimulus/Respons – Schema aufweisen.
Aber was zum Kuckuck ist „falsch“?
Der Computer führt ja „brav“ seine Befehle aus. Was kann daran „falsch“ sein?
Einfache Antwort: Befehle sind dann falsch, wenn das S/R-Schema vom spezifizierten S/R-Schema abweicht und wenn kein tieferliegender Fehler vorliegt.
Ist es „falsch“, wenn Open Office plötzlich alle Vernunft über Bord wirft und denselben Käse nachmacht, den Microsoft Office vorgebetet hat?
Na ja, ich als User habe es vielleicht anders erwartet, bzw. habe ich es anders erhofft, aber eigentlich tut das Programm nur das, was die zahlenden Stakeholder sich wünschen. Ich als nicht-zahlender Stakeholder muss mich mit der Software zufrieden geben, so wie sie ist (as is).
Das ist zwar ärgerlich und manche empfinden es sogar als „böse“, aber „falsch“ ist es eigentlich nicht. Es ist nur eine Frage, wer sich bei der Spezifikation des S/R-Schemas durchgesetzt hat.
Also ist die Spezifikation des S/R-Schemas sozusagen die „Moral eines Computerprogramms“, an die sich der Programmierer zu halten hat.
Aber was ist, wenn sich der Programmierer an das spezifizierte S/R-Schema gehalten hat UND dieses trotzdem verletzt wird.
Das kann nur heissen, dass irgend ein tiefer liegender Fehler den Computer verwirrt, sodass er den an sich richtigen Befehlen nicht mehr richtig gehorchen KANN.
Da muss dann der Servicetechniker her, den tieferliegenden Fehler finden und – z.B. durch einen Hardwaretausch – beseitigen.
Metaphorik:
Wer ist der Programmierer? Wer ist der Fehler, der „tiefer sitzt“?
Programmieren wir nicht auch andauernd unsere Kinder und uns selber gegenseitig?
Wer spezifiziert das S/R-Schema? Die „Gesellschaft“?
Meint
Euer Christoph
Veröffentlicht von Yeti