Hvordan programmering påvirker din hjerne: 3 store sandheder i henhold til videnskab
Reklame
Det er sandt: programmører tænker anderledes end alle andre.
For ikke at sige, at programmerere nødvendigvis er smartere, mere logiske eller mere rationelle end alle andre, som det almindeligt siges. Men forskere er for nylig begyndt at studere programmernes hjerner og er kommet til nogle interessante konklusioner.
Ligesom kunstnerskabet kan forme dit sind på forskellige måder, påvirker computerprogrammering også din hjerne og hvordan du tænker - måske på måder, du måske ikke havde forventet.
1. Kodning former dine mentale modeller
Er det vigtigt, hvilket programmeringssprog du lærer først? Ja!
Dette virker lidt uretfærdigt, ikke? Når alt kommer til alt får de fleste af os vores første smag af programmering i skolen, og vi får ikke vælge, hvilket sprog der bliver presset på os. Jeg startede med C. De ældre end mig startede sandsynligvis med FORTRAN, COBOL eller BASIC. Hvad angår jer nyere folk? Du startede sandsynligvis på Java eller Python.
Ingen tvivl om det: design af et programmeringssprog former, hvordan du tænker. Edsger Dijkstra, en af historiens mest indflydelsesrige computerforskere, vidste dette, da han sagde:
”De værktøjer, vi bruger, har en dyb (og uærlig) indflydelse på vores tankegang og derfor på vores tænkeevner.”
Derefter fortsatte han med at sige:
”Brugen af COBOL forstyrrer sindet; dens undervisning bør derfor betragtes som en kriminel handling. ”
Og:
"Det er praktisk talt umuligt at undervise i god programmering til studerende, der har haft en tidligere eksponering for BASIC: som potentielle programmører er de mentalt lemlæstede ud over håb om regenerering."
Av.
På én måde er alle programmeringssprog lige så dygtige, da de alle er Turing-komplette. Men i en anden forstand kan mestring af et sprog føre til ruin på et andet sprog. Java-programmerere og Python-programmerere er to forskellige dyr, der nærmer sig kodning på to helt forskellige måder. Hvad er objektorienteret programmering? Det grundlæggende forklaret i Laymans vilkår Hvad er objektorienteret programmering? Det grundlæggende forklaret i Laymans vilkår De fleste moderne programmeringssprog understøtter "objektorienteret programmering" (OOP) paradigme. Men hvad er OOP nøjagtigt, og hvorfor er det så nyttigt? Læs mere .
Med andre ord, paradigmer og idiomer i dit første programmeringssprog påvirker og endda dikterer, hvordan du tænker på datastrukturer, algoritmer osv.
Så meget, faktisk, at det faktisk er muligt at tage anonymiseret kode og bestemme, hvem der har skrevet den udelukkende baseret på, hvordan opgaven blev benyttet, og hvordan koden blev skrevet. Jo vanskeligere opgaven er, desto lettere er det at "de-anonymisere."
Se dette papir om kodestylometri [Ingen længere tilgængelig] og denne kodestilometri-forelæsningstranskription:
”Programmerere kan tilsløre deres variabel- eller funktionsnavne, men ikke de strukturer, de ubevidst foretrækker at bruge, eller deres foretrukne forøgelsesoperatører.”
På engelsk har vi et ordsprog, der opsummerer dette på en letforståelig måde: ”Når alt hvad du har er en hammer, ser alt ud som et søm.” På samme måde, når du først lærer at programmere på en bestemt måde, er det fristende til at tænke på alle problemer på den måde.
Så når du vælger et programmeringssprog Leder du efter de bedste programmeringssprog? Start her! Leder du efter de bedste programmeringssprog? Start her! Uanset om du er helt ny med programmeringssprog eller ønsker at springe ind i en ny form for programmering, er et af de vigtigste spørgsmål at stille: "Hvilket programmeringssprog er det rigtige for mig?" Læs mere, vær smart og vær forsigtig!
2. Programmering hjælper med at styrke hjernesundheden
Folk siger ofte, at hjernen er som en muskel, og at du er nødt til at udøve den, hvis du vil forblive skarp. Er det faktisk sandt? Og i bekræftende fald, tæller programmering som mental træning, nok til, at det påvirker hjernes sundhed?
En metastudie fra 1991 kiggede på ”virkningen af computerprogrammering på kognitive resultater” og fandt, at studerende med computerprogrammeringserfaring scorede 16 procentpoint højere på test for kognitiv evne end studerende uden.
En større undersøgelse i 1999 fandt og bekræftede, at "intellektuelt engagerende aktiviteter tjener til at buffe individer mod [kognitiv] tilbagegang", men bemærkede også, at det er muligt, at kognitiv tilbagegang kan føre til mindre deltagelse i intellektuelt engagerende aktiviteter.
En endnu større undersøgelse i 2009 nåede til en lignende konklusion, der antydede, at ”mennesker, der deltager i hjernestimulerende aktiviteter i senere år, kan reducere deres risiko [og endda forsinke indtræden af] Alzheimers og andre former for demens.” Hjernestimulerende aktiviteter inkluderet læsning, skrivning, puslespil, brætspil og kortspil og afspilning af musik.
Endelig fandt en undersøgelse, der blev offentliggjort i 2013, udelukkende, at kun visse former for mentalt engagement faktisk giver en skarpere hjerne, nemlig kognitive aktiviteter med stor efterspørgsel, der involverer læring og intellektuelle vanskeligheder.
Mere forskning skal selvfølgelig udføres, men det er svært at tænke på nogen kognitiv aktivitet, der er mere krævende og lærings-centreret end programmering.
Selvom ingen af disse undersøgelser viser, at intellektuelt engagerende aktiviteter gør dig smartere eller mere dygtige, viser de endvidere, at kognitive opgaver med stor efterspørgsel i det mindste forlænger din nuværende hjernesundhed og markant forhindrer neural forringelse.
Vi har tidligere argumenteret for, at det aldrig er for sent at begynde at lære at kode 3 myte-busting grunde til at starte kodning selv i en ældre alder 3 myte-busting grunde til at starte kodning selv i en ældre alder har nogensinde spekuleret på, om du er " for gammel ”til at begynde at lære at programmere, det enkle svar er, at enhver kan afhente det. Det virkelige spørgsmål er, skal du give det et skud? Læs mere, og disse undersøgelser tjener kun til at styrke vores position. Programmering er godt for dig!
3. Kodning er ikke alle matematik og logik
Ifølge en 2014-undersøgelse [PDF], der brugte fMRI-scanninger til at observere hjerneaktivitet, mens programmerere forsøgte at arbejde igennem og forstå kodestykker, er fem forskellige områder af hjernen involveret i forståelsen af kildekoden:
- BA 6: Mellem frontal gyrus (opmærksomhed, sprog, arbejdshukommelse)
- BA 21: Midlertidig gyrus (semantisk hukommelse indhentning)
- BA 40: Inferior parietal lobule (Arbejdshukommelse)
- BA 44: Inferior frontal gyrus (Arbejdshukommelse)
- BA 47: Inferior frontal gyrus (sprog, arbejdshukommelse)
Dette betyder, at arbejde gennem kildekoden hovedsageligt bruger dele af hjernen, der normalt er forbundet med sprogbehandling, hukommelse og opmærksomhed.
Hvad der navnlig mangler er regioner i hjernen, der normalt er forbundet med matematik og beregninger, som næppe er registreret - selv når man forstår kodestykker, der involverede sløjfer, konditionelle, aritmetiske og andre algoritmiske operationer.
Naturligvis er denne undersøgelse noget ufuldstændig, og forskerne indrømmer lige så meget:
- Uddragene i eksperimentet var under 20 kodelinjer og tidsbegrænset, hvilket betyder at de ikke var vanskelige nok til virkelig at udfordre emner.
- Beviserne tyder ikke på, at programmeringssprog er som fremmedsprog, kun at de involverer lignende regioner i hjernen.
- Motiverne skrev ikke nogen af deres egne koder, hvilket sandsynligvis ville involvere forskellige områder i hjernen end at prøve at forstå den eksisterende kode.
Men her er hvad vi kan gå væk med:
Vi ved, at programmerere regelmæssigt gennemgår kildekoden, hvad enten det er en kode, der er selvskrevet eller tilhører en anden. Vi ved også, at programmerere ofte bruger mere tid på at fikse og refactoring kode end at skrive ny kode fra bunden.
Så denne undersøgelse er ikke meningsløs. Programmering er ikke kun en "venstrehjerne-aktivitet", og man kan endda hævde, at højrehjerne-programmører 6 tegn på, at du ikke har ment at være en programmør, 6 tegn på, at du ikke har til hensigt at være en programmør. Ikke alle er udskåret at være programmør. Hvis du ikke er helt sikker på, at du er beregnet til at være programmør, er her nogle tegn, der kan pege dig i den rigtige retning. Læs mere har en kant i denne forstand.
Lær at være en bedre programmerer
Programmeringsfærdigheder kommer ikke let, men de kommer, hvis du fortsætter med praksis. Se vores tip til mestring af ethvert programmeringssprog, vores artikel om fordelene ved en programmeringsdagbog og vores foretrukne lektioner til selvlærte kodere. Hvis du vil tage springet med et specifikt programmeringssprog, er det at tackle et projekt en god idé. Se, hvordan man lærer C-programmering med dette nybegynderprojekt.
Endelig vil jeg anbefale at se disse TED-foredrag for programmerere 20 TED-foredrag om programmering Alle skal se 20 TED-foredrag om programmering Alle skal se. Med disse TED-foredrag om programmering lærer du at være programmerer. At vide, hvordan man skriver kode, er et aspekt af programmeringen, men at vide, hvordan man tænker, er nøglen. Læs mere, som inkluderer alle slags tip, tanker, inspiration, motivation og historier, der kan hjælpe dig.
Udforsk mere om: Programmering, Psykologi.