Der Kopf des Programmierers: Wie Codierung das Denken beeinflusst

Programmieren lernen bedeutet nicht nur, eine nützliche Fähigkeit zu entwickeln, sondern auch eine besondere Art des Denkens zu erlernen. Programmierer sind gut darin, mathematische und logische Probleme zu lösen. Sie achten auch auf Details, simulieren Situationen im Alltag und geben eine Bewertung anhand einer Vielzahl von Faktoren.



Im Vorgriff auf unseren Go Workshop- Kurs sagen wir Ihnen, dass Psychologen, Linguisten und Pädagogen über die Auswirkungen der Kodierung auf das Gehirn nachdenken und was die australischen Indianer und die Sepir-Whorf-Hypothese damit zu tun haben.

In den 30er Jahren des letzten Jahrhunderts erschien die Theorie der sprachlichen Relativitätstheorie, die in Analogie zur Entdeckung von Einstein benannt wurde. Es heißt: Sprache definiert Bewusstsein, dh Menschen nehmen die Welt anders wahr, weil die sprachlichen Kategorien der Muttersprache Einschränkungen auferlegen und sogar das Denken bestimmen.

Diese Idee wurde von Edward Sepir und seinem Schüler Benjamin Wharf formuliert, aber sie waren falsch. Jede Idee kann in jeder Sprache vermittelt werden. Sie führten den enormen Einfluss auf kognitive Prozesse auf einfache Unterschiede in der Grammatik zurück, aber das Konzept enthielt auch ein gesundes Korn. Guy Deutscher erklärt in seinem Buch Through the Mirror of Tongue:

„Wenn verschiedene Sprachen das Denken ihrer Sprecher unterschiedlich beeinflussen, geht es nicht darum, dass jede Sprache ihren Sprechern das Denken ermöglicht, sondern vielmehr um die Teile der Bedeutung, über die jede Sprache normalerweise nachdenkt. Wenn eine Sprache ihre Sprecher dazu zwingt, auf bestimmte Aspekte der Welt zu achten ... können solche Sprachgewohnheiten schließlich zu Denkgewohnheiten werden, die Konsequenzen für das Gedächtnis, die Wahrnehmung, die Assoziationen und sogar die praktischen Fähigkeiten haben. “

Die Wahrheit ist irgendwo im Norden


Es wurde überzeugend bewiesen, dass das System des Geschlechts von Substantiven assoziative Reihen beeinflusst und bestimmte leblose Objekte mit imaginären weiblichen oder männlichen Merkmalen ausstatten muss. Ein ähnlicher Effekt ist mit Unterschieden in der Empfindlichkeit gegenüber Farbtönen verbunden, für die die Sprache einen Namen hat.

Aber das sind Kleinigkeiten im Vergleich zu der Tatsache, dass Sprache Fähigkeiten bilden kann. Dies wurde während des Studiums einer der Sprachen der australischen Ureinwohner offenbart. Anstelle der üblichen "vorne" und "hinten", "links" und "rechts" verwenden sie nur Kardinalpunkte, um die Richtung anzuzeigen.

Es mag wie ein Scherz erscheinen, aber wenn ein Muttersprachler dieser Sprache Sie auffordert, Platz auf der Bank zu schaffen, klingt es wie „Bewegen Sie sich bitte nach Osten“. Wenn Sie zur gleichen Zeit ein Buch lesen und nach Süden schauen und der Eingeborene möchte, dass Sie ein paar Seiten nach vorne blättern, hören Sie „weiter nach Westen blättern“. Wenn Sie sich nach Norden wenden, klingt die Anfrage anders - Sie werden aufgefordert, nach Osten zu wechseln.

Um diese Sprache zu sprechen, müssen Sie ständig die Position der Kardinalpunkte überwachen, die ein geografisches Gedächtnis bilden und keine bewusste Kontrolle des Orientierungssinns erfordern. Tiefes Sprachenlernen ist also mehr als nur Grammatik- und Wortschatzkenntnisse.

Das Studium des Einflusses der Sprache auf das Denken hat gerade erst begonnen, aber ähnliche Studien über Programmiersprachen sind bereits im Gange, wobei sich nicht nur der Name auf natürliche bezieht.

Programmierung ≥ Sprache


Im Gegensatz zu Stereotypen sind bei der Programmierung nicht die mathematischen, sondern die sprachlichen Fähigkeiten am wichtigsten. Dies war bereits 1982 in seinen Etudes for Programmers von Charles Wesrel. Er machte auf verbale Fähigkeiten als wichtigen Aspekt der Persönlichkeit eines erfolgreichen Programmierers aufmerksam, wobei er die Fähigkeit berücksichtigte, mit der Grammatik sowohl künstlicher als auch natürlicher Sprachen zu arbeiten.

Seine Beobachtungen werden bestätigt. Statistische Studien haben eine Korrelation zwischen Programmierung und hohen sprachlichen Fähigkeiten gezeigt. Direkte Beobachtungen der Aktivität in verschiedenen Bereichen des Gehirns mit Hilfe der MRT haben gezeigt , dass während der Arbeit am Code dieselben Teile des Gehirns aktiviert werden, die für natürliche Sprachen verantwortlich sind.

Es überrascht nicht, dass viele Programmierer die Sapir-Whorf-Hypothese für ihre Arbeit als anwendbar betrachten. Ähnliche Ansichten vertrat Kenneth Iverson, der Erfinder von APL. Yukihiro Matsumoto gab zu, dass er sich bei der Entwicklung von Ruby von dem Roman "Babel-17" inspirieren ließ, der auf der Hypothese der sprachlichen Relativitätstheorie basiert.

Ähnliche Motive werden in Paul Grahams Aufsatz „Conquering Mediocrity“ in seinem „Blub“ -Paradoxon entwickelt, wonach ein Programmierer, der eine Sprache beherrscht und alle Probleme damit löst, den Wert effektiverer Werkzeuge aus anderen Programmiersprachen nicht versteht und sie als etwas Seltsames wahrnimmt ungewöhnlich und unnötig.

Der erste Versuch, die verfügbaren Daten zu den Auswirkungen der Programmierung auf kognitive Prozesse zusammenzufassen, wurde 1987 in der Mai-Ausgabe von Educational Computing Research unternommen.

Dann stellten die Forscher fest, dass die Programmierung mit ihren verschiedenen Aufgaben die Fähigkeit zur strategischen Lösung von Problemen, die Fähigkeit zur formalen Logik, die Modellierungsfähigkeiten und die kognitiven Stile positiv beeinflussen kann, aber aufgrund fehlender Daten nicht zu eindeutigen und schlüssigen Schlussfolgerungen kam.
Weitere sechs Jahre vergingen, bis Statistiken gesammelt wurden, die es ermöglichten, Ideen über die Auswirkungen der Kodierung auf das Denken zu konkretisieren. Es wird in einer 1991 veröffentlichten Metaanalyse von 65 Studien zu den Auswirkungen der Programmierung auf kognitive Prozesse vorgestellt .

Es stellte sich heraus, dass sich das Programmieren in den meisten Fällen positiv auf verschiedene kognitive Fähigkeiten auswirkt, die mit der Dauer des Studiums der Programmiersprache und dem Erfolg darin korrelieren. "Die Auswirkungen des Lernens einer Programmiersprache gehen über den Inhalt einer bestimmten Computersprache hinaus", sagen Wissenschaftler. Mit der Fähigkeit zu programmieren, werden Planungsfähigkeiten, die Fähigkeit zum Denken, logisches Denken sowie allgemeine Fähigkeiten zur Lösung von Problemen mithilfe von Computerprogrammen verbessert.

Vergleichende Studien zum Einfluss verschiedener Programmiersprachen auf kognitive Prozesse werden fortgesetzt. Für die Analyse der Inhalte der auf StackExchange veröffentlichten Online-Repositorys, Fragen und Antworten von Github und BitBucket wurde ein Zuschuss von 750.000 USD bereitgestellt. Demnach werden das Knowledge Lab und das Department of Psychology der University of Wisconsin Madison die „Naturgeschichte“ der Programmiersprachen wiederherstellen und nachverfolgen, wie oft und zu welchem ​​Zweck jede von ihnen verwendet wird.

Bis 2020 wollen die Forscher herausfinden, wie sich die spezifischen Merkmale von Programmiersprachen auf die Anzahl der Pfade und die Geschwindigkeit der Lösung verschiedener Probleme auswirken, und analysieren, wie gut eine bestimmte Sprache für die kollektive Programmierung geeignet ist.

Das Projekt hat eine ehrgeizige Aufgabe: Informationen darüber bereitzustellen, welche Sprachen für bestimmte Projekte ausgewählt werden sollen, und herauszufinden, wie sich diese Auswahl auf die Art und Weise auswirkt, wie Entwickler denken und arbeiten.

Mehr als Geschicklichkeit


Neben den eigentlichen Programmierkenntnissen ist das Erlernen von Sprachen eine Gewohnheit dessen, was der Mathematiker, Psychologe und Programmierer Seymour Papert in seiner Arbeit als „rechnerisches Denken“ bezeichnet.

Dies ist ein flexibler Satz von Fähigkeiten, die auf die algorithmische Problemlösung abzielen , die Gewohnheit, Abstraktion, Zerlegung, Bewertung, logisches Denken, Genauigkeit und die Gewohnheit, Details im täglichen Leben zu bemerken, komplex zu nutzen.

Das Konzept des rechnerischen Denkens gewann in der Pädagogik an Autorität und bildete die Grundlage vieler Bildungsprogramme. Im Laufe der Zeit, wie in den achtziger Jahren des letzten Jahrhunderts erwartet, breitete sich sein Einfluss jedoch weit über Hochschulen und Universitäten hinaus aus .

Mit einer Programmiermethode werden eine Vielzahl von Problemen erfolgreich gelöst. Ein Beispiel hierfür ist nicht nur die Computermodellierung, die Erfassung von Big Data, die Einführung automatisierter Systeme und der Erfolg von Fintech.

Computergestütztes Denken ist im Alltag und für Fachleute, die weit von IT-Technologien entfernt sind, anwendbar und nützlich. Das Erlernen der Programmierung hilft Ihnen dabei, neue Ansätze und Lösungen zu finden, egal was passiert. Sei es Physik, Biologie, Chemie, Soziologie, Pädagogik, Wirtschaft oder Gesundheitswesen.

So entstand das Konzept des effektiven Altruismus, die Suche nach den effektivsten Wohltätigkeitsstrategien begann. Dank dieser Studien stellte sich beispielsweise heraus, dass es im Kampf gegen Malaria effizienter ist, Geld an Moskitonetze zu spenden, als an teure Medikamente.

Eine weitere Konsequenz des rechnerischen Denkens ist die Idee, Werkzeuge zur mathematischen Analyse von Tauschgeschäften und Big Data zu verwenden, um das Problem der Auswahl von Organspendern zu lösen. Als Ergebnis wurde ein Design für das komplexe und gleichzeitig zuverlässige und effektive System des Spendernierenaustauschs „in der Kette“ für die USA entwickelt, für das Professor Harvard Harvard University Alvin Roth 2012 den Nobelpreis erhielt.

Im Kontext neuer Forschung geht es beim Erlernen einer Programmiersprache nicht nur darum, eine Fertigkeit zu erwerben, sondern auch darum, das Leben neu zu betrachten und die damit verbundenen Herausforderungen zu bewältigen.

Sehr bald wird der Go Workshop- Kurs im Binary District beginnen - ein ausgezeichneter Start für Programmiereranfänger und eine logische Fortsetzung für diejenigen, die bereits mit der Entwicklung ihrer eigenen Webdienste konfrontiert sind.

Source: https://habr.com/ru/post/de425385/


All Articles