Uczyć się programowania można bez ponadprzeciętnych uzdolnień matematycznych i wiedzy z nauk ścisłych – wynika z najnowszych badań. Ważniejszy dla początkujących programistów jest… talent do języków. Ludzie łatwo uczący się języków obcych, łatwo uczą się również Pythona lub JS.
Pracę na ten temat na łamach „Scientific Reports” opublikowali w ostatnich dniach naukowcy z Uniwersytetu Waszyngtońskiego w Seattle (USA). Ich zdaniem nauka współczesnych języków programowania bardzo przypomina naukę nowego języka obcego.
Żeby to zbadać, prześledzili bardzo uważnie proces nauki Pythona u 36 osób (w wieku od 18 do 35 lat), przeskanowali ich mózgi pod kątem uzdolnień do nauki nowego języka, a także poddali ośmiu różnym testom. Oceniano ponownie uzdolnienia do nauki języków, zdolności do skupiania uwagi, do rozwiązywania problemów, do zapamiętywania. Zbadano wreszcie ich wiedzę matematyczną i umiejętności matematyczne.
Oczywiście sprawdzano też, jak skuteczna była krótka sesja nauki Pythona: czy uczestnicy sprawnie opanowali „słownictwo” i „gramatykę” tego języka (czyli znaczenie używanych funkcji i strukturę kodu). Po zrobieniu testów mieli też zaprogramować prościutką grę. Wyniki tego zadania były oczywiście rozmaite – niektórzy nauczyli się więcej, inni mniej.
Uczyć się programowania to jak uczyć się francuskiego lub japońskiego
Okazało się, że uzdolnienia do nauki nowych języków są najbardziej powiązane z predyspozycjami do szybkiej nauki Pythona u badanych osób. Ci, którzy byli dobrzy w nowych językach obcych, dobrze sobie radzili również z Pythonem. Ci, którym nauka niemieckiego lub chińskiego poszłaby słabo, z trudem przyswajali również naukę programowania.
Inne badane zmienne, takie jak dobra pamięć lub zdolności do rozwiązywania problemów, też oczywiście wpływają na szanse szybkiego zostania progamistą. Ale uzdolnienia językowe były zdecydowanie najważniejsze – nawet, jeśli inne czynniki działały odwrotnie do nich.
Królowa nauk też jest ważna, ale nie jest obowiązkowa
– Wiele barier stojących na drodze przyszłych programistów – od wymaganych kursów wstępnych po stereotypy, jak dobry koder powinien wyglądać – opierają się na idei, że programowanie istotnie zależy od uzdolnień matematycznych. A ta idea ma się nijak do naszych wyników – stwierdza prof. Chantel Prat, neuropsycholożka z Uniwersytetu Waszyngtońskiego i główna autorka artykułu. – Nauka programowania nie jest łatwa, ale jest coraz ważniejsza do zdobycia dobrej pracy.
Jej zdaniem, to bardzo ważne odkrycie, które pomoże „odczarować” ten zawód i np. zwiększyć liczbę kobiet programistek.
Oczywiście uzdolnienia matematyczne i wiedza z nauk ścisłych bardzo pomagają wielu programującym. Ale ustalenia naukowców z Seattle pokazują bardzo ciekawą rzecz. Programowanie jest umiejętnością „dogadania się” z maszynami. Wydawania poleceń komputerom, opisywania, co się chce osiągnąć.
Zazwyczaj idzie to w parze z istotnymi zagadnieniami matematycznymi, bo zwykle chcemy, żeby komputer coś policzył, oszacował, wymierzył. A zatem, musimy umieć zadać odpowiednie pytania i wiedzieć, czego szukamy.
Ale nie tylko.
Programowanie jest ważnym (i coraz ważniejszym!) narzędziem w bardzo wielu dziedzinach życia i w bardzo różnych dziedzinach nauki i twórczości artystycznej. To pokrzepiające wiedzieć, że ktoś, kto np. tworzy piękne gry, zajmuje się historią, albo prowadzi badania z zakresu nauk medycznych i zawsze był na bakier z matematyką, może sprawnie wykorzystywać komputery i być dobrym programistą, pracując nad zagadnieniami z własnej dziedziny. Bez konieczności zagłębiania się w zawiłości wyższej matematyki lub statystyki.
Po prostu żmudne i powtarzalne czynności można zrzucić na komputer i zająć się ciekawszymi zadaniami!
Dowiedz się więcej z oryginalnej pracy:
https://doi.org/10.1038/s41598-020-60661-8