Gli scienziati hanno studiato gli effetti della programmazione informatica sul cervello umano.  La codifica influisce su come pensi ed ecco come.

Come la programmazione influenza il tuo cervello: 3 grandi verità secondo la scienza

Annuncio pubblicitario È vero: i programmatori pensano diversamente dagli altri. Per non dire che i programmatori sono necessariamente più intelligenti, più logici o più razionali di tutti gli altri, come si dice comunemente. Ma gli scienziati hanno recentemente iniziato a studiare il cervello dei programmatori e sono giunti ad alcune conclusioni interessanti. Pr

Annuncio pubblicitario

È vero: i programmatori pensano diversamente dagli altri.

Per non dire che i programmatori sono necessariamente più intelligenti, più logici o più razionali di tutti gli altri, come si dice comunemente. Ma gli scienziati hanno recentemente iniziato a studiare il cervello dei programmatori e sono giunti ad alcune conclusioni interessanti.

Proprio come l'arte può modellare la tua mente in vari modi, anche la programmazione del computer influenza il tuo cervello e il modo in cui pensi, forse in modi che non ti aspettavi.

1. Forme di codifica per i tuoi modelli mentali

Importa quale linguaggio di programmazione impari prima? Sì!

Sembra un po 'ingiusto, no? Dopotutto, la maggior parte di noi prova il nostro primo assaggio di programmazione a scuola e non possiamo scegliere quale lingua ci viene affidata. Ho iniziato con C. Quelli più grandi di me probabilmente hanno iniziato con FORTRAN, COBOL o BASIC. Quanto a te, gente nuova? Probabilmente hai iniziato su Java o Python.

Non ci sono dubbi: la progettazione di un linguaggio di programmazione modella il modo in cui pensi. Edsger Dijkstra, uno dei più influenti scienziati informatici della storia, lo sapeva quando disse:

"Gli strumenti che utilizziamo hanno un'influenza profonda (e subdola) sulle nostre abitudini di pensiero e, quindi, sulle nostre capacità di pensiero".

Ha poi continuato dicendo:

“L'uso di COBOL paralizza la mente; il suo insegnamento dovrebbe pertanto essere considerato un reato ".

E:

"È praticamente impossibile insegnare una buona programmazione agli studenti che hanno avuto una precedente esposizione a BASIC: come potenziali programmatori sono mentalmente mutilati oltre la speranza di rigenerazione".

Ahia.

In un certo senso, tutti i linguaggi di programmazione sono ugualmente capaci in quanto sono tutti completi di Turing. Ma in un altro senso, la padronanza di una lingua può portare alla rovina in un'altra lingua. I programmatori Java e i programmatori Python sono due bestie diverse che si avvicinano alla programmazione in due modi completamente diversi Cos'è la programmazione orientata agli oggetti? Le basi spiegate in termini di Layman Cos'è la programmazione orientata agli oggetti? Le basi spiegate in termini di Layman La maggior parte dei linguaggi di programmazione moderni supporta il paradigma "OOP (object-oriented programmazione)". Ma cos'è esattamente OOP e perché è così utile? Leggi di più .

In altre parole, i paradigmi e gli idiomi del tuo primo linguaggio di programmazione influenzano e persino dettano il tuo modo di pensare a strutture di dati, algoritmi, ecc.

Tanto che, in effetti, è effettivamente possibile prendere il codice anonimo e determinare chi lo ha scritto basandosi esclusivamente su come è stata affrontata l'attività e su come è stato scritto il codice. Più difficile è il compito, più facile è "disanonimizzare".

Vedi questo documento sulla stilometria del codice [Non più disponibile] e questa trascrizione della lezione sulla stilometria del codice:

"I programmatori possono offuscare i nomi delle loro variabili o funzioni, ma non le strutture che inconsciamente preferiscono usare o i loro operatori di incremento preferiti."

In inglese, abbiamo un proverbio che lo riassume in un modo facile da capire: "Quando tutto ciò che hai è un martello, tutto sembra un chiodo". Allo stesso modo, una volta che impari a programmare in un certo modo, è tentazione di pensare a tutti i problemi in quel modo.

Quindi, quando si sceglie un linguaggio di programmazione Cerchi i migliori linguaggi di programmazione? Comincia qui! Cerchi i migliori linguaggi di programmazione? Comincia qui! Che tu sia completamente nuovo nei linguaggi di programmazione o cerchi di entrare in un nuovo tipo di programmazione, una delle domande più importanti da porsi è: "Quale linguaggio di programmazione è giusto per me?" Leggi di più, sii intelligente e fai attenzione!

2. La programmazione aiuta a rafforzare la salute del cervello

Le persone spesso dicono che il cervello è come un muscolo e che è necessario esercitarlo se si desidera rimanere acuti. È proprio vero? E se sì, la programmazione conta come esercizio mentale, abbastanza da influire sulla salute del cervello?

Un meta-studio del 1991 ha esaminato "gli effetti della programmazione informatica sui risultati cognitivi" e ha scoperto che gli studenti con esperienza di programmazione al computer hanno ottenuto un punteggio di 16 punti percentuali più alto nei test di abilità cognitiva rispetto agli studenti senza.

Uno studio più ampio del 1999 ha scoperto e confermato che "le attività intellettualmente impegnative servono a respingere gli individui dal declino [cognitivo]", ma hanno anche osservato che è possibile che il declino cognitivo possa portare a una minore partecipazione alle attività intellettualmente impegnative.

Uno studio ancora più ampio del 2009 è giunto a una conclusione simile, suggerendo che "le persone che si impegnano in attività di stimolazione del cervello negli anni successivi possono ridurre il loro rischio [e persino ritardare l'insorgenza di] Alzheimer e altri tipi di demenza." Attività che stimolano il cervello inclusi lettura, scrittura, puzzle, giochi da tavolo e di carte e riproduzione di musica.

Infine, uno studio pubblicato nel 2013 ha scoperto che solo alcuni tipi di impegno mentale si prestano effettivamente a cervelli più acuti, vale a dire attività cognitive ad alta richiesta che implicano apprendimento e difficoltà intellettuali.

programmazione su un Mac

Sono necessarie ulteriori ricerche, ovviamente, ma è difficile pensare a qualsiasi attività cognitiva più impegnativa e incentrata sull'apprendimento rispetto alla programmazione.

Inoltre, mentre nessuno di questi studi mostra che le attività intellettualmente coinvolgenti ti rendono più intelligente o più capace, dimostrano che i compiti cognitivi ad alta richiesta almeno estendono la tua attuale salute del cervello e prevengono in modo significativo il deterioramento neuronale.

In precedenza abbiamo sostenuto che non è mai troppo tardi per iniziare a imparare a programmare 3 motivi mistici per iniziare a scrivere codice anche a un'età più avanzata 3 motivi mistici busti per iniziare a scrivere codice anche a un'età più vecchia Si sono mai chiesti se sei " troppo vecchio "per iniziare a imparare a programmare, la risposta semplice è che chiunque può raccoglierlo. La vera domanda è: dovresti provarci? Maggiori informazioni e questi studi servono solo a rafforzare la nostra posizione. La programmazione fa bene!

3. La codifica non è tutta matematica e logica

Secondo uno studio del 2014 [PDF] che utilizzava scansioni fMRI per osservare l'attività cerebrale mentre i programmatori cercavano di elaborare e comprendere frammenti di codice, cinque aree distinte del cervello sono coinvolte nella comprensione del codice sorgente:

  • BA 6: giro frontale centrale (attenzione, lingua, memoria di lavoro)
  • BA 21: giro temporale medio (recupero della memoria semantica)
  • BA 40: lobulo parietale inferiore (memoria di lavoro)
  • BA 44: giro frontale inferiore (memoria di lavoro)
  • BA 47: giro frontale inferiore (lingua, memoria di lavoro)

Ciò significa che lavorare attraverso il codice sorgente utilizza principalmente parti del cervello normalmente associate all'elaborazione del linguaggio, alla memoria e all'attenzione.

codice su uno schermo Mac

Ciò che manca in particolare sono le regioni del cervello normalmente associate alla matematica e ai calcoli, che a malapena si registravano, anche quando si comprendevano frammenti di codice che includevano cicli, condizionali, aritmetica e altre operazioni algoritmiche.

Naturalmente, questo studio è in qualche modo incompleto e i ricercatori ammettono altrettanto:

  • Gli snippet nell'esperimento erano sotto 20 righe di codice e limitati nel tempo, il che significa che non erano abbastanza difficili da sfidare veramente i soggetti.
  • Le prove non suggeriscono che i linguaggi di programmazione siano come le lingue straniere, ma solo che coinvolgono regioni simili del cervello.
  • I soggetti non hanno scritto il proprio codice, il che probabilmente coinvolgerebbe diverse aree del cervello rispetto al tentativo di comprendere il codice esistente.

Ma ecco cosa possiamo andare via con:

Sappiamo che i programmatori riesaminano regolarmente il codice sorgente, sia esso scritto da solo o appartenente a qualcun altro. Sappiamo anche che i programmatori spesso impiegano più tempo a riparare e refactoring del codice che a scrivere nuovo codice da zero.

Quindi questo studio non ha senso. La programmazione non è solo una "attività con il cervello sinistro", e si potrebbe anche sostenere che i programmatori con il cervello destro 6 segni che non si intende essere un programmatore 6 segni che non si intende essere un programmatore Non tutti sono esclusi essere un programmatore. Se non sei del tutto sicuro di essere programmatore, ecco alcuni segnali che potrebbero indirizzarti nella giusta direzione. Maggiori informazioni hanno un vantaggio in questo senso.

Imparare come essere un programmatore migliore

Le capacità di programmazione non sono facili, ma arriveranno se continui la pratica. Dai un'occhiata ai nostri suggerimenti per padroneggiare qualsiasi linguaggio di programmazione, il nostro articolo sui vantaggi di un diario di programmazione e le nostre lezioni preferite per programmatori autodidatti. Se vuoi fare il grande passo con un linguaggio di programmazione specifico, affrontare un progetto è una buona idea. Scopri come imparare la programmazione C con questo progetto per principianti.

Infine, consiglio di guardare questi TED Talks per programmatori 20 TED Talk sulla programmazione Tutti devono guardare 20 TED Talk sulla programmazione Tutti devono guardare Con questi TED Talk sulla programmazione, imparerai come essere un programmatore. Saper scrivere codice è un aspetto della programmazione, ma sapere come pensare è la chiave. Leggi di più, che include tutti i tipi di suggerimenti, pensieri, ispirazioni, motivazioni e storie che potrebbero aiutarti.

Ulteriori informazioni su: Programmazione, Psicologia.