Testmanager gesucht? Kontaktiere mich!

In seinem Essay "Programming as Theory Building" aus dem Jahr…

Blog Image

In seinem Essay "Programming as Theory Building" aus dem Jahr 1985 argumentiert der Informatiker Peter Naur, dass Programmierung im Wesentlichen darum geht, eine Theorie aufzubauen – ein gemeinsames mentales Modell darüber, wie ein System funktioniert, warum es auf diese Weise funktioniert und wie es sich entwickeln sollte. Der Quellcode ist lediglich eine schriftliche Darstellung dieser Theorie, und wie alle Darstellungen ist er unvollständig. Kritisches Wissen über Absicht, Designentscheidungen, Kompromisse und die Gründe hinter architektonischen Entscheidungen existiert nur in den Köpfen der Menschen, die das System gebaut haben. Wenn diese Personen gehen, stirbt die Theorie mit ihnen. Der Code bleibt, aber das Programm – das lebendige, atmende System mit seinem Kontext und seiner Begründung – ist verschwunden.

Heutzutage ist die Entwicklungsumgebung perfekt für das, was ich als "theorieloses" Code bezeichne: Reflexive KI-Nutzung ist zur Norm geworden. Entwickler greifen instinktiv nach LLM-generierten Lösungen, ohne den kognitiven Kampf zu führen, der das Verständnis aufbaut. Domain-Blind Code Generation stellt einen noch extremeren Fall dar. LLM-generierter Code ist nicht nur theorielos – es ist niemandes Theorie. Es entsteht aus statistischen Mustern ohne Verständnis des Geschäftsbereichs, des konzeptionellen Modells des Systems oder der nuancierten Kompromisse, die Domain-Experten in die Architektur eingebaut haben. Der Code besteht möglicherweise die Tests, existiert jedoch in einem theoretischen und domänenfreien Vakuum.

Das Integrationsproblem tritt auf, wenn Entwickler KI-generierten Code akzeptieren, ohne ihn tiefgreifend zu verstehen. Sie importieren nicht nur Syntax, sondern auch fremde architektonische Entscheidungen in ihr System. Das Ergebnis sind Codebasen, die anfangs funktionieren, aber immer zusammenhangloser werden, wenn sie wachsen. Systeme, in denen der Code nicht mehr die Sprache der Domäne widerspiegelt. Technische Schulden, die sich aufgrund fehlender theoretischer Grundlagen, die dem System einst seine Integrität gaben, anhäufen.

Erfahrene Entwickler sind entscheidend, weil sie die theoretische Grundlage konstruieren und pflegen, die Geschäftsbereiche mit Softwarearchitektur verbindet. Sie verstehen nicht nur, was der Code tut, sondern auch warum er existiert, wie er das Geschäftsfeld modelliert und wie er sich entwickeln sollte, wenn das Verständnis vertieft wird. Sie stellen sicher, dass der Code die Sprache der Domainexperten spricht, dienen als kritische Brücke zwischen Rohimplementierung und kohärentem Systemdesign und führen eine bewusste Zusammenarbeit mit KI durch, anstatt sie reflexiv zu nutzen.

Quelle: https://cekrem.github.io/posts/programming-as-theory-building-naur/

Schreiben Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Nach oben scrollen