Hur programmering påverkar din hjärna 3 stora sanningar enligt vetenskapen
Det är sant: programmerare tycker annorlunda än alla andra.
För att inte säga att programmerare är nödvändigtvis smartare, mer logiska eller mer rationella än alla andra, som vanligt sagt. Men forskare har nyligen börjat studera programmers hjärnor och kommit till några intressanta slutsatser.
Precis som artistry kan forma ditt sinne på olika sätt, påverkar programmeringen också hur du tänker - kanske på sätt som du kanske inte har förväntat dig.
1. Kodning former dina mentala modeller
Det spelar ingen roll vilket programmeringsspråk du lär dig först? Ja!
Det verkar lite orättvist, eller hur? När allt kommer omkring får vi vår första smak av programmering i skolan, och vi får inte välja vilket språk som kommer på oss. Jag började med C. De äldre än jag troligtvis började med FORTRAN, COBOL eller BASIC. Vad gäller dig nyare folk? Du startade sannolikt på Java eller Python.
Ingen tvekan om det: utformningen av ett programmeringsspråk bildar hur du tänker. Edsger Dijkstra, en av historiens mest inflytelserika datavetenskapare, visste det här när han sa:
“Verktygen vi använder har ett djupt (och devious) inflytande på våra tänkande vanor, och därför på våra tänkande förmågor.”
Han fortsatte med att säga:
“Användningen av COBOL krämplar sinnet; Därför bör dess undervisning betraktas som ett brott.”
Och:
“Det är praktiskt taget omöjligt att undervisa bra programmering till studenter som tidigare haft exponering för BASIC: som potentiella programmörer minskar de psykiskt bortom hopp om förnyelse.”
Aj.
På ett sätt är alla programmeringsspråk lika förmåga att de är alla Turing-kompletta. Men i en annan mening kan förståelse 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 förklaras i Laymans villkor Vad är objektorienterad programmering? Grunderna förklaras i Laymans villkor De flesta moderna programmeringsspråk stöder "OOP-paradigmet" med objektorienterad programmering. Men vad är OOP och varför är det så användbart? Läs mer .
Med andra ord, påverkar och paradikerar paradigmerna och idiomerna i ditt första programmeringsspråk och ens dikterar hur du tänker på datastrukturer, algoritmer, etc.
Så mycket faktiskt att det faktiskt är möjligt att ta anonyma koden och bestämma vem som skrev den baserad enbart på hur uppgiften var närmade och hur koden skrevs. Ju svårare uppgiften desto lättare är det “de-Anonymisera.”
Se detta papper om kodstylometri [PDF] och denna kodstylometriska föreläsningsutskrift:
“Programmerare kan förklara deras variabel- eller funktionsnamn, men inte de strukturer som de omedvetet föredrar att använda eller deras favorit-inkrementoperatö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, så ser det 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åk? Börja här! Letar du efter de bästa programmeringsspråk? Börja här! Oavsett om du är helt ny på programmeringsspråk eller vill hoppa till en ny typ av programmering, är ett av de viktigaste frågorna att fråga: "Vilket programmeringsspråk är rätt för mig?" Läs mer, var smart och var försiktig!
2. Kodning hjälper till att stärka hjärnhälsan
Människor säger ofta att hjärnan är som en muskel och att du behöver träna den om du vill vara skarp. Är det faktiskt sant? Och om så är fallet, räknar programmeringen som mental träning, tillräckligt för att den påverkar hjärnans hälsa?
En meta-studie från 1991 tittade på “effekterna av datorprogrammering på kognitiva resultat” och fann att elever med datorprogrammering erfarenhet gjorde 16 procentilitetspoäng högre på kognitiva förmåga test än studenter utan.
En större studie 1999 hittade och bekräftade det “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 fram till en liknande slutsats, vilket tyder på att “personer som engagerar sig i hjärnstimulerande aktiviteter under senare år kan minska risken [och till och med fördröja uppkomsten av] Alzheimers och andra typer av demens.” Hjärnstimulerande aktiviteter inkluderade läsning, skrivning, pussel, brädspel och kortspel och spelar musik.
Slutligen fann en studie som publicerades i 2013 att endast vissa typer av mentalt engagemang verkligen ger upphov till skarpare hjärnor, nämligen högkvalitativa kognitiva aktiviteter som involverar inlärning och intellektuell svårighet.
Mer forskning måste naturligtvis ske, 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 skicklig visar de att högkvalitativa kognitiva uppgifter i alla fall utsträcker din nuvarande hjärnhälsa och förhindrar signifikant neural försämring.
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 till att börja kodning, även vid en äldre ålder 3 Mytbrytande skäl att börja kodning Även vid en äldre ålder har du någonsin undrat om du är " för gammal "för att börja lära sig att programmera är det enkla svaret att vem som helst kan hämta det. Den verkliga frågan är, om du skulle ge det ett skott? Läs mer, och dessa studier tjänar bara för att stärka vår position. Programmering är bra för dig!
3. Kodning är inte alla matematik och logik
Enligt en studie i 2014 [PDF] som använde fMRI-skanningar för att observera hjärnaktivitet medan programmerare försökte arbeta igenom och förstå koduttag, är fem distinkta delar av hjärnan inblandade i att förstå källkod:
- BA 6: Middle frontal gyrus (Uppmärksamhet, språk, arbetsminne)
- BA 21: Middle temporal gyrus (Semantic Memory Retrieval)
- BA 40: Inferior parietal lobule (Arbetsminne)
- BA 44: Inferior frontal gyrus (arbetsminne)
- BA 47: Inferior frontal gyrus (Språk, arbetsminne)
Det innebär att arbeta via källkod använder sig av delar av hjärnan som normalt hör samman med språkbehandling, minne och uppmärksamhet.
Det som märkbart saknas är regioner i hjärnan som normalt är förknippade med matematik och beräkningar, vilket knappt registrerats - även när man förstår kodsekvenser som involverade loopar, conditionals, aritmetiska och andra algoritmiska operationer.
Naturligtvis är denna studie något ofullständig, och forskarna erkänner så mycket:
- Snippets i experimentet var under 20 linjer kod och tidsbegränsade, vilket innebär att de inte var svåra 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.
- Ämnenna skrev inte någon egen kod, vilket sannolikt skulle innebära olika delar av hjärnan än att försöka förstå befintlig kod.
Men här kan vi gå med:
Vi vet att programmerare regelbundet granskar källkoden, oavsett kod som är självskriven eller tillhör någon annan. Vi vet också att programmerare brukar spendera mer tidsfixering och refaktorkod än att skriva ny kod från början.
Så denna studie är inte meningslös. Programmering är inte bara en “vänsterhävd aktivitet,” och man kan till och med argumentera för att högerhårda programmerare 6 tecknar att du inte är avsedd att vara programmerare 6 tecken på att du inte är avsedd att vara programmerare Inte alla är utklippna för att vara programmerare. Om du inte är helt säker på att du är avsedd att vara programmerare, här är några tecken som kan peka dig i rätt riktning. Läs mer har en kant i den meningen.
Att lära sig att vara en bättre programmerare
Programmeringsförmåga kommer inte lätt, men de kommer om du fortsätter träna. Kolla in våra tips för att behärska något programmeringsspråk. 7 Användbara tricks för att behärska ett nytt programmeringsspråk. 7 Användbara tricks för att behärska ett nytt programmeringsspråk Det är okej att vara överväldigad när du lär dig att koda. Du kommer noga att glömma saker så fort du lär dig dem. Dessa tips kan hjälpa dig att bättre behålla all den nya informationen. Läs mer, vår artikel om fördelarna med en programplanering Bli en bättre kodare genom att hålla en programmeringstidskrift Bli en bättre kodare genom att hålla en programmeringstabell Håll en programmeringsjournal och dra in några tydliga fördelar. Att skriva en tidskrift kan hjälpa dig att arbeta genom dina tankar och hålla reda på dina programmeringsmål. Läs mer och våra favoritlektioner för självlärda kodare 5 Lärdomar att bli en riktigt bra självlärd programmerare 5 lektioner att bli en riktigt bra självlärd programmerare Du har bestämt dig för att börja programmera. Vart går du? Dessa fem Udemy-kurser erbjuder en stark grund för de grundläggande förutsättningarna för programmering. Läs mer . Om du vill ta ett språng med ett specifikt programmeringsspråk är det en bra idé att ta itu med ett projekt. Kolla in hur du lär dig C-programmering med det här nybörjaren.
Slutligen rekommenderar jag att du tittar på dessa TED-samtal för programmerare 20 TED-samtal om programmering Alla måste titta på 20 TED-samtal om programmering Alla måste titta på dessa TED-samtal om programmering, så lär du dig att vara programmerare. Att veta hur man skriver kod är en aspekt av programmering, men att veta hur man tänker är viktig. Läs mer, som inkluderar alla typer av tips, tankar, inspirationer, motivationer och historier som kan hjälpa dig.
Utforska mer om: Programmering, psykologi.