Hur programmering påverkar din hjärna: 3 stora sanningar enligt vetenskap
Annons
Det är sant: programmerare tänker annorlunda än alla andra.
För att inte säga att programmerare nödvändigtvis är smartare, mer logiska eller mer rationella än alla andra, som vanligt sagt. Men forskare har nyligen börjat studera hjärnorna hos programmerare och kommit till några intressanta slutsatser.
Precis som konstnärskap kan forma ditt sinne på olika sätt påverkar datorprogrammering också din hjärna och hur du tänker - kanske på sätt som du kanske inte har förväntat dig.
1. Kodning formar dina mentala modeller
Spelar det vilket programmeringsspråk du lär dig först? ja!
Detta verkar lite orättvist, eller hur? När allt kommer omkring, de flesta av oss får vår första smak av programmering i skolan, och vi får inte välja vilket språk som stöter på oss. Jag började med C. De som är äldre än mig började troligen med FORTRAN, COBOL eller BASIC. Vad gäller er nyare? Du har troligen börjat på Java eller Python.
Ingen tvekan om det: utformningen av ett programmeringsspråk formar hur du tänker. Edsger Dijkstra, en av historiens mest inflytelserika datavetare, visste detta när han sa:
"De verktyg som vi använder har ett djupt (och ödmjukt) inflytande på våra tänkande vanor, och därför på våra tänkande förmågor."
Han fortsatte sedan att säga:
”Användningen av COBOL kramar hjärnan; dess undervisning bör därför ses som ett brott. ”
Och:
"Det är praktiskt taget omöjligt att lära ut god programmering till studenter som tidigare har utsatts för BASIC: som potentiella programmerare är de mentalt stympade bortom förhoppning om förnyelse."
Aj.
På ett sätt är alla programmeringsspråk lika kapabla i och med att de alla är Turing-kompletta. Men i en annan mening kan behärskning av ett språk leda till förstörelse på ett annat språk. Java-programmerare och Python-programmerare är två olika djur som närmar sig kodning på två helt olika sätt. Vad är objektorienterad programmering? Grunderna som förklaras i Laymans termer Vad är objektorienterad programmering? Grunderna som förklaras i Laymans villkor De flesta moderna programmeringsspråk stöder "objektorienterad programmering" -paradigm. Men vad är exakt OOP och varför är det så användbart? Läs mer .
Med andra ord, paradigmer och idiom i ditt första programmeringsspråk påverkar och till och med dikterar hur du tänker på datastrukturer, algoritmer etc.
Så mycket så faktiskt att det faktiskt är möjligt att ta anonymiserad kod och bestämma vem som skrev den baserat uteslutande på hur uppgiften angick och hur koden skrevs. Ju svårare uppgiften, desto lättare är det att "av anonymisera."
Se detta papper om kodstylometri [No Longer Available] och denna kod stylometry föreläsningstranskript:
"Programmerare kan dölja sina variabla eller funktionsnamn, men inte de strukturer de medvetet föredrar att använda eller deras favoritökningsoperatörer."
På engelska har vi ett ordspråk som sammanfattar detta på ett lättförståeligt sätt: "När allt du har är en hammare, ser allt ut som en spik." På samma sätt, när du lär dig att programmera på ett visst sätt, är det frestande att tänka på alla problem på det sättet.
Så när du väljer ett programmeringsspråk Letar du efter de bästa programmeringsspråken? Börja här! Letar du efter de bästa programmeringsspråken? Börja här! Oavsett om du är helt ny i programmeringsspråk eller vill hoppa in i en ny typ av programmering är en av de viktigaste frågorna att ställa: "Vilket programmeringsspråk är rätt för mig?" Läs mer, var smart och var försiktig!
2. Programmering hjälper till att stärka hjärnhälsa
Folk säger ofta att hjärnan är som en muskel och att du måste utöva den om du vill hålla dig skarp. Är det faktiskt sant? Och i så fall räknar programmering som mental träning, tillräckligt för att det påverkar hjärnhälsan?
En metastudie från 1991 tittade på "effekterna av datorprogrammering på kognitiva resultat" och fann att elever med datorprogrammeringserfaring fick 16 procentpoäng högre på tester av kognitiv förmåga än studenter utan.
En större studie 1999 fann och bekräftade att "intellektuellt engagerande aktiviteter tjänar till att buffra individer mot [kognitiv] nedgång", men noterade också att det är möjligt att kognitiv nedgång kan leda till mindre deltagande i intellektuellt engagerande aktiviteter.
En ännu större studie 2009 kom till en liknande slutsats som antydde att ”personer som bedriver hjärnstimulerande aktiviteter under senare år kan minska sin risk [och till och med försena uppkomsten av] Alzheimers och andra typer av demens.” Hjärnstimulerande aktiviteter inkluderade läsning, skrivande, pussel, brädspel och kortspel och spela musik.
Slutligen fann en studie som publicerades 2013 att endast vissa typer av mental engagemang faktiskt lånar till skarpare hjärnor, nämligen kognitiva aktiviteter med stor efterfrågan som involverar lärande och intellektuella svårigheter.
Mer forskning måste naturligtvis göras, men det är svårt att tänka på någon kognitiv aktivitet som är mer krävande och lärande-centrerad än programmering.
Även om ingen av dessa studier visar att intellektuellt engagerande aktiviteter gör dig smartare eller mer kapabel, visar de att kognitiva uppgifter med hög efterfrågan åtminstone förlänger din nuvarande hjärnhälsa och avsevärt förhindrar neurala försämringar.
Vi har tidigare hävdat att det aldrig är för sent att börja lära sig hur man kodar 3 Myth-Busting-skäl att starta kodning även vid en äldre ålder. för gammal "för att börja lära sig att programmera, det enkla svaret är att vem som helst kan plocka upp det. Den verkliga frågan är, ska du ge den en bild? Läs mer, och dessa studier tjänar bara till att stärka vår position. Programmering är bra för dig!
3. Kodning är inte allt matematik och logik
Enligt en 2014-studie [PDF] som använde fMRI-skanningar för att observera hjärnaktivitet medan programmerare försökte arbeta igenom och förstå kodavsnitt, är fem distinkta områden i hjärnan involverade i att förstå källkoden:
- BA 6: Mellan frontal gyrus (uppmärksamhet, språk, arbetsminne)
- BA 21: Midlertidig gyrus (Semantiskt minnehämtning)
- BA 40: Inferior parietal lobule (Arbetsminne)
- BA 44: Inferior frontal gyrus (arbetsminne)
- BA 47: Inferior frontal gyrus (språk, arbetsminne)
Detta innebär att arbeta genom källkod främst använder delar av hjärnan som normalt är associerade med språkbehandling, minne och uppmärksamhet.
Vad som särskilt märks saknas är regioner i hjärnan som normalt är associerade med matematik och beräkningar, som knappt registrerats - även när man förstår kodavsnitt som involverade slingor, konditioner, aritmetik och andra algoritmiska operationer.
Naturligtvis är denna studie något ofullständig, och forskarna medger lika mycket:
- Utdragen i experimentet var under 20 kodlinjer och tidsbegränsade, vilket innebar att de inte var svåra nog för att verkligen utmana ämnen.
- Beviset tyder inte på att programmeringsspråk är som främmande språk, bara att de involverar liknande regioner i hjärnan.
- Personerna skrev inte någon egen kod, vilket troligtvis skulle involvera olika delar av hjärnan än att försöka förstå befintlig kod.
Men här är vad vi kan gå av med:
Vi vet att programmerare regelbundet granskar källkoden, vare sig kod som är självskrivet eller tillhör någon annan. Vi vet också att programmerare ofta lägger mer tid på att fixa och refactoring kod än att skriva ny kod från början.
Så denna studie är inte meningslös. Programmering är inte bara en "vänster-brained aktivitet", och man kan till och med hävda att höger-brained programmerare 6 tecken på att du inte är tänkt att vara en programmerare 6 tecken på att du inte är tänkt att vara en programmerare Inte alla är utskurna att vara programmerare. Om du inte är helt säker på att du är tänkt att vara programmerare är här några tecken som kan peka dig i rätt riktning. Läs mer har en fördel i detta avseende.
Lär dig hur man ska bli en bättre programmerare
Programmeringsfärdigheter kommer inte lätt men de kommer om du fortsätter med övningen. Kolla in våra tips för att behärska alla programmeringsspråk, vår artikel om fördelarna med en programmeringsdagbok och våra favoritlektioner för självlärda kodare. Om du vill ta steget med ett specifikt programmeringsspråk är det bra att ta itu med ett projekt. Kolla in hur du lär dig C-programmering med det här nybörjarprojektet.
Slutligen rekommenderar jag att du tittar på dessa TED-samtal för programmerare 20 TED-samtal om programmering Alla måste se 20 TED-samtal om programmering Alla måste se. Med dessa TED-samtal om programmering kommer du att lära dig att vara programmerare. Att veta hur man skriver kod är en aspekt av programmeringen, men att veta hur man tänker är nyckeln. Läs mer, som innehåller alla typer av tips, tankar, inspiration, motivationer och historier som kan hjälpa dig.
Utforska mer om: Programmering, psykologi.