Wetenschappers hebben de effecten van computerprogrammering op het menselijk brein bestudeerd.  Codering heeft invloed op hoe u denkt en hier is hoe.

Hoe programmeren uw hersenen beïnvloedt: 3 grote waarheden volgens de wetenschap

Advertentie Het is waar: programmeurs denken anders dan alle anderen. Om niet te zeggen dat programmeurs noodzakelijkerwijs slimmer, logischer of rationeler zijn dan alle anderen, zoals gewoonlijk wordt gezegd. Maar wetenschappers zijn onlangs begonnen met het bestuderen van de hersenen van programmeurs en zijn tot een aantal interessante conclusies gekomen

Advertentie

Het is waar: programmeurs denken anders dan alle anderen.

Om niet te zeggen dat programmeurs noodzakelijkerwijs slimmer, logischer of rationeler zijn dan alle anderen, zoals gewoonlijk wordt gezegd. Maar wetenschappers zijn onlangs begonnen met het bestuderen van de hersenen van programmeurs en zijn tot een aantal interessante conclusies gekomen.

Net zoals kunstzinnigheid je geest op verschillende manieren kan vormen, heeft computerprogrammering ook invloed op je hersenen en hoe je denkt - misschien op manieren die je misschien niet had verwacht.

1. Codering geeft vorm aan uw mentale modellen

Maakt het uit welke programmeertaal je eerst leert? Ja!

Dit lijkt een beetje oneerlijk, toch? De meesten van ons krijgen immers onze eerste smaak van programmeren op school, en we kunnen niet kiezen welke taal ons wordt opgedrongen. Ik begon met C. Degenen die ouder zijn dan ik, zijn waarschijnlijk begonnen met FORTRAN, COBOL of BASIC. Wat betreft jullie nieuwere mensen? Je bent waarschijnlijk begonnen op Java of Python.

Geen twijfel mogelijk: het ontwerp van een programmeertaal geeft vorm aan hoe u denkt. Edsger Dijkstra, een van de meest invloedrijke computerwetenschappers in de geschiedenis, wist dit toen hij zei:

"De tools die we gebruiken hebben een diepgaande (en sluwe) invloed op onze denkgewoonten, en dus op onze denkvaardigheden."

Vervolgens zei hij:

“Het gebruik van COBOL verlamt de geest; de leer ervan moet daarom worden beschouwd als een misdrijf. "

En:

"Het is praktisch onmogelijk om goede programmering te onderwijzen aan studenten die eerder kennis hebben gemaakt met BASIC: als potentiële programmeurs zijn ze geestelijk verminkt zonder hoop op regeneratie."

Ouch.

In zekere zin zijn alle programmeertalen even geschikt omdat ze allemaal Turing-compleet zijn. Maar in een andere zin kan beheersing van de ene taal leiden tot ondergang in een andere taal. Java-programmeurs en Python-programmeurs zijn twee verschillende beesten die codering op twee totaal verschillende manieren benaderen. Wat is objectgericht programmeren? De basis uitgelegd in de termen van Layman Wat is Object Oriented Programming? De basis uitgelegd in de termen van Layman De meeste moderne programmeertalen ondersteunen het "object-georiënteerd programmeren" (OOP) paradigma. Maar wat is OOP precies en waarom is het zo nuttig? Lees verder .

Met andere woorden, de paradigma's en idiomen van uw eerste programmeertaal beïnvloeden en dicteren zelfs hoe u denkt over gegevensstructuren, algoritmen, enz.

Sterker nog, het is zelfs mogelijk om geanonimiseerde code te nemen en te bepalen wie deze heeft geschreven, uitsluitend op basis van hoe de taak is benaderd en hoe de code is geschreven. Hoe moeilijker de taak, hoe gemakkelijker het is om 'de-anonimiseren'.

Zie dit artikel over codestijlometrie [niet langer beschikbaar] en deze transcriptie van de codestijlometrie:

"Programmeurs kunnen hun variabele- of functienamen verdoezelen, maar niet de structuren die ze onbewust liever gebruiken of hun favoriete increment-operators."

In het Engels hebben we een spreekwoord dat dit op een gemakkelijk te begrijpen manier samenvat: "Als alles wat je hebt een hamer is, ziet alles eruit als een spijker." Evenzo, zodra je leert hoe je op een bepaalde manier programmeert, is het verleidelijk om op die manier over alle problemen na te denken.

Dus bij het kiezen van een programmeertaal Op zoek naar de beste programmeertalen? Begin hier! Op zoek naar de beste programmeertalen? Begin hier! Of u nu helemaal nieuw bent in programmeertalen of in een nieuw soort programmeren wilt springen, een van de belangrijkste vragen die u moet stellen is: "Welke programmeertaal is geschikt voor mij?" Lees meer, wees slim en wees voorzichtig!

2. Programmering helpt de gezondheid van de hersenen te versterken

Mensen zeggen vaak dat de hersenen als een spier zijn en dat je deze moet trainen als je scherp wilt blijven. Is dat echt waar? En zo ja, telt programmeren dan als mentale oefening, genoeg dat het de gezondheid van de hersenen beïnvloedt?

In een metastudie uit 1991 werd gekeken naar "de effecten van computerprogrammering op cognitieve resultaten" en werd vastgesteld dat studenten met computerprogrammeerervaring 16 percentielpunten hoger scoorden op cognitieve vaardigheidstests dan studenten zonder.

Een grotere studie in 1999 vond en bevestigde dat "intellectueel aantrekkelijke activiteiten dienen om individuen te bufferen tegen [cognitieve] achteruitgang", maar merkte ook op dat het mogelijk is dat cognitieve achteruitgang zou kunnen leiden tot minder deelname aan intellectueel aantrekkelijke activiteiten.

Een nog grotere studie in 2009 kwam tot een vergelijkbare conclusie, die suggereert dat "mensen die in latere jaren hersenstimulerende activiteiten ontplooien, hun risico kunnen verminderen [en zelfs het ontstaan ​​van] Alzheimer en andere vormen van dementie kunnen vertragen." Hersenstimulerende activiteiten inclusief lezen, schrijven, puzzels, bord- en kaartspellen en muziek spelen.

Ten slotte bleek uit een in 2013 gepubliceerd onderzoek dat alleen bepaalde soorten mentale betrokkenheid daadwerkelijk lenen voor scherpere hersenen, namelijk cognitieve activiteiten met een hoge vraag die leren en intellectuele problemen met zich meebrengen.

programmeren op een Mac

Er moet natuurlijk meer onderzoek worden gedaan, maar het is moeilijk om cognitieve activiteiten te bedenken die veeleisender en leergerichter zijn dan programmeren.

Hoewel geen van deze onderzoeken aantoont dat intellectueel aantrekkelijke activiteiten je slimmer of capabeler maken, tonen ze ook aan dat cognitieve taken met een hoge vraag op zijn minst je huidige hersengezondheid uitbreiden en neurale achteruitgang aanzienlijk voorkomen.

We hebben eerder betoogd dat het nooit te laat is om te beginnen met het leren coderen van 3 Myth-Busting Redenen om te beginnen met coderen, zelfs op oudere leeftijd 3 Myth-Busting Redenen om te beginnen met coderen, zelfs op oudere leeftijd, heb me ooit afgevraagd of je " te oud 'om te leren programmeren, het simpele antwoord is dat iedereen het kan oppakken. De echte vraag is, moet je het proberen? Lees meer en deze onderzoeken dienen alleen om onze positie te versterken. Programmeren is goed voor u!

3. Codering is niet allemaal wiskunde en logica

Volgens een 2014-studie [PDF] die fMRI-scans gebruikte om hersenactiviteit te observeren terwijl programmeurs code-fragmenten probeerden te verwerken en te begrijpen, zijn vijf verschillende hersengebieden betrokken bij het begrijpen van broncode:

  • BA 6: Middelste frontale gyrus (aandacht, taal, werkgeheugen)
  • BA 21: Middentemporale gyrus (semantisch geheugen ophalen)
  • BA 40: Inferieure pariëtale lobule (werkgeheugen)
  • BA 44: Inferieure frontale gyrus (werkgeheugen)
  • BA 47: Inferieure frontale gyrus (taal, werkgeheugen)

Dit betekent dat het werken met broncode voornamelijk delen van de hersenen gebruikt die normaal worden geassocieerd met taalverwerking, geheugen en aandacht.

code op een Mac-scherm

Wat met name ontbreekt, zijn hersengebieden die normaal worden geassocieerd met wiskunde en berekeningen, die nauwelijks worden geregistreerd, zelfs wanneer ze codefragmenten bevatten met lussen, voorwaardelijke, rekenkundige en andere algoritmische bewerkingen.

Natuurlijk is deze studie enigszins onvolledig, en de onderzoekers geven zoveel toe:

  • De fragmenten in het experiment bevatten minder dan 20 regels code en zijn beperkt in de tijd, wat betekent dat ze niet moeilijk genoeg waren om onderwerpen echt uit te dagen.
  • Het bewijs suggereert niet dat programmeertalen op vreemde talen lijken, maar alleen dat ze vergelijkbare hersengebieden omvatten.
  • De proefpersonen hebben geen eigen code geschreven, die waarschijnlijk verschillende hersengebieden zou omvatten dan proberen bestaande code te begrijpen.

Maar hier kunnen we mee weglopen:

We weten dat programmeurs regelmatig broncode bekijken, of deze nu zelfgeschreven is of van iemand anders is. We weten ook dat programmeurs vaak meer tijd besteden aan het repareren en opnieuw coderen van code dan het helemaal opnieuw schrijven van nieuwe code.

Dus deze studie is niet zinloos. Programmeren is niet alleen een 'linkse hersenkraker', en je zou zelfs kunnen stellen dat rechtse hersenkraker 6 tekenen dat je niet bedoeld bent om programmeur te zijn 6 tekenen dat je niet bedoeld bent om programmeur te zijn Niet iedereen is eruit om een ​​programmeur te zijn. Als je niet helemaal zeker weet of je een programmeur bent, zijn hier enkele tekenen die je in de goede richting kunnen wijzen. Lees meer hebben een voorsprong in deze zin.

Leren hoe u een betere programmeur kunt worden

Programmeervaardigheden komen niet eenvoudig, maar ze komen wel als je de oefening voortzet. Bekijk onze tips voor het beheersen van een programmeertaal, ons artikel over de voordelen van een programmeerdagboek en onze favoriete lessen voor autodidactische programmeurs. Als u de sprong wilt wagen met een specifieke programmeertaal, is een project aanpakken een goed idee. Bekijk hoe je C-programmeren leert met dit beginnersproject.

Tot slot raad ik aan deze TED-talks voor programmeurs te bekijken 20 TED-talks over programmeren Iedereen moet kijken 20 TED-talks over programmeren Iedereen moet kijken Met deze TED-talks over programmeren leert u hoe u programmeur kunt worden. Weten hoe je code schrijft is een aspect van programmeren, maar weten hoe te denken is de sleutel. Lees meer, waaronder allerlei tips, gedachten, inspiraties, motivaties en geschiedenissen die u kunnen helpen.

Ontdek meer over: Programmering, Psychologie.