Mehr Sprache als Logik: Was geht im Gehirn eines Programmierers vor, wenn er sich intensiv mit einem Programmcode befasst? Darauf haben nun Hirnscans eine überraschende Antwort geliefert. Denn entgegen den Erwartungen waren nicht logische und mathematische Schaltkreise aktiv, sondern die Sprachzentren der linken Hirnhälfte. Demnach spielt offenbar Sprachverständnis eine zentralere Rolle beim Programmieren als lange angenommen.
Ob mathematische Formeln oder der Programmcode eines Computers: Beide gehören zu den sogenannten formalen Sprachen – logischen Konstrukten, die bestimmten Regeln folgen und deren einzelne Zeichen klare, eindeutig definierte Bedeutungen haben. Doch wie werden diese Codes im Gehirn von Mathematikern oder Programmierern verarbeitet? Hirnscans belegen, dass bei Mathematikern ein spezielles Hirn-Netzwerk anspringt, dass nur bei ihnen existiert und nur auf Mathematik reagiert.
Programmcode analysieren im Hirnscanner
Wie aber ist es bei Programmierern, die Codes schreiben oder prüfen? Gängiger Annahme nach erfordert auch das Programmieren vor allem das logisch-mathematische Denken. Ob dies wirklich der Fall ist, haben nun Sven Apel von der Universität des Saarlands und seine Kollegen mithilfe der funktionellen Magnetresonanz-Tomografie (fMRT) untersucht. Dafür gaben sie 17 IT-Studenten eine Aufgabe, zu deren Lösung sie einen Programmcode-Auszug intensiv prüfen und verstehen mussten.
Das Problem allerdings: „Wenn wir Programmierer nur dabei beobachten, wie sie mit dem Quellcode arbeiten, sehen wir zwar eine Menge aktiver Hirnareale, aber wir wissen nicht, welche davon direkt mit dem Akt des Programmverstehens verknüpft sind“, erklären Apel und seine Kollegen. Deshalb ließen sie die Teilnehmer als Kontrollaufgabe Code-Schnipsel auf einfache Syntaxfehler überprüfen – eine für Programmierer wenig anspruchsvolle Routineaufgabe. „Das enthüllt den Unterschied zwischen dem bloßen Durchschauen und dem tiefen Verstehen der Code-Semantik“, erklären die Forscher.
Für die Auswertung zogen sie die Hirnaktivität der Kontrollbedingung von der der eigentlichen Aufgabe ab, so dass nur noch die Stellen im Gehirn aufleuchteten, die direkt mit der Analyse und dem Verstehen des Programmcodes verknüpft waren.
Sprachzentren leuchten auf, Mathe- und Logikzentren nicht
Das überraschende Ergebnis: „Zu unserer Überraschung konnten wir keine Aktivität in Richtung mathematischen oder logischen Denkens beobachten – obwohl dies zu der Annahme passen würde, dass Programmieren ein formaler, logischer und mathematischer Prozess ist „, berichtet Apel. Stattdessen waren vor allem Areale und Netzwerke der linken Hirnhälfte aktiv, die auch bei der Verarbeitung natürlicher Sprache relevant sind.
Zu den aktivierten Hirnbereichen gehören neben Schaltkreisen des Arbeitsgedächtnisses und der Aufmerksamkeit auch Areale im Broca-Zentrum, die für das Leseverständnis und sprachliche Semantik zuständig sind. „Unsere Forschung legt damit nahe, dass das Sprachverständnis eine zentrale Rolle beim Programmieren spielt“, sagt Apel. „Diese Vermutung äußerte der renommierte niederländische Informatiker Edsger W. Dijkstra bereits in den 1980er Jahren.“
Impulse auch für die Informatik
Nach Ansicht der Forscher widerlegt dies nicht nur landläufige Annahmen über die Denkprozesse beim Programmieren, es könnte auch wichtige Impulse für das Design von Programmiersprachen und die Programmierausbildung geben. Apel und sein Team wollen nun als nächstes herausfinden, ob und wie sich das Programmverständnis bei Experten und Anfängern unterscheidet. (Communications of the ACM, 2020; doi: 10.1145/3347093)
Quelle: Universität des Saarlandes