Non serve essere bravi in matematica per diventare ottimi programmatori, meglio sviluppare altre capacità della sfera comunicativa. Ecco i risultati dell’Università di Washington.

Non serve essere bravi in matematica per diventare buoni programmatori come verrebbe naturale pensare, ma l’attitudine per l’apprendimento delle lingue è una caratteristica che sembra avere maggior peso per predire la capacità di apprendimento dei linguaggi di programmazione. Questo è il risultato di una nuova ricerca dell’Università di Washington pubblicata oggi su Nature.

“La programmazione è come la poesia” sostiene Satya Nadella, CEO di Microsoft e ora che i ricercatori hanno rivelato che la predisposizione all’apprendimento di nuove lingue gioca un ruolo chiave, più della predisposizione in matematica, sembra più vero che mai.

La scrittura di codice implica di fatto l’apprendimento di una nuova lingua

La scrittura del codice implica di fatto l’apprendimento di una nuova lingua, e per diventare buoni programmatori non solo occorre apprenderne il vocabolario e la grammatica, ma trovare il modo giusto per comunicare idee e intenzioni attraverso di essa.

Ci sono ovviamente anche altre funzioni cognitive che svolgono ruoli chiave come la capacità di risoluzione dei problemi e l’uso della memoria di lavoro.

Molte barriere alla programmazione sono incentrate sull’idea che essa si basi fortemente sulle capacità matematiche

ha affermato l’autore principale dello studio Chantel Prat, professore associato di psicologia, che continua

Imparare a programmare è difficile, ma è sempre più importante per ottenere posizioni di lavoro qualificate. Mancano ancora informazioni dettagliate su ciò che serve per essere bravi a programmare e il nostro lavoro è un passo per colmare questa lacuna.

Lo studio ha esaminato le capacità neurocognitive di oltre 40 persone adulte mentre imparavano il linguaggio di programmazione Python.

Dopo una serie di test per valutare la loro funzione esecutiva, le abilità linguistiche e matematiche, i partecipanti hanno completato una serie di lezioni e quiz online su Python.

Coloro che hanno imparato Python più velocemente e con maggiore precisione, tendevano ad avere un mix di capacità di risoluzione dei problemi e di predisposizione al linguaggio come riportato nel grafico sottostante.

 

 

I punteggi del test di attitudine linguistica sono i predittori migliori del tasso di apprendimento del linguaggio di programmazione

I ricercatori hanno evidenziato che i punteggi del test di attitudine linguistica erano i predittori più forti del tasso di apprendimento del linguaggio di programmazione da parte dei partecipanti.

“Siamo stati in grado di spiegare oltre il 70% della variabilità della velocità con cui persone diverse imparano a programmare in Python e abbiamo visto che solo una piccola parte di tale percentuale è correlata alla matematica”, ha detto Prat.

Ulteriori ricerche potrebbero esaminare le stesse connessioni testando però la capacità a imparare linguaggi più complessi come Java o compiti più complicati per analizzare il livello di competenza raggiunto nella programmazione.

È pensiero comune che per diventare buoni programmatori si debba essere matematici o ingegneri: i corsi di programmazione a livello universitario infatti tendono a richiedere il superamento di corsi di matematica avanzata per iscriversi oppure ad essere insegnati soltanto nei dipartimenti di informatica e ingegneria.

Questo lavoro distrugge un po’ questo preconcetto e mostra che la capacità di programmazione  ha anche una base nel linguaggio umano in quanto implica la creazione di significato mettendo insieme i simboli secondo determinate regole.