
Peter Holmes
0
4422
291
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 kunstneriet 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 har 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 tidligere har udsat 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 der præcist er OOP, og hvorfor er det så nyttigt? .
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, jo lettere er det “afanonymisere.”
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 en søm.” Når du først lærer at programmere på en bestemt måde, er det også fristende 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?" , 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 hvis det er tilfældet, 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 det “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, hvilket antyder det “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 inkluderede læsning, skrivning, puslespil, bræt- og kortspil og spil 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. 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? , 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 - også 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 et “aktivitet med venstre hjerne,” og man kan endda hævde, at højrehjerne-programmører 6 tegn på, at du ikke er beregnet til at være programmør, 6 tegn på, at du ikke har ment at være programmør. Ikke alle er udskåret til at være en 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. 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 7 Nyttige tricks til at mestre et nyt programmeringssprog 7 Nyttige tricks til at mestre et nyt programmeringssprog Det er okay at blive overvældet, når du lærer at kode. Du vil sandsynligvis glemme tingene så hurtigt, som du lærer dem. Disse tip kan hjælpe dig med at bevare alle de nye oplysninger bedre. , vores artikel om fordelene ved en programmeringsjournal Bliv en bedre koder ved at føre et programmeringsjournal Bliv en bedre koder ved at føre et programmeringsjournal Opbevar et programmeringsjournal og tryk på nogle åbenlyse fordele. At skrive en dagbog kan hjælpe dig med at arbejde igennem dine tanker og holde styr på dine programmeringsmål. , og vores foretrukne lektioner for selvlærte kodere 5 lektioner til at blive en rigtig god selvuddannet programmør 5 lektioner til at blive en rigtig god selvuddannet programmør Du har besluttet at begynde at programmere. Hvor går du hen? Disse fem Udemy-kurser tilbyder et stærkt fundament på grundlæggende programmering. . 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. , der inkluderer alle slags tip, tanker, inspiration, motivation og historier, der kan hjælpe dig.