Dla naszego mózgu czytanie kodu komputerowego to nie to samo, co czytanie zdania w języku potocznym.
Nowe badania sugerują nam właśnie, że czytanie kodu komputerowego nie zależy od obszarów mózgu zaangażowanych w przetwarzanie języka.
Interpretacja kodu aktywuje ogólną sieć mózgową, ale nie ośrodki przetwarzania języka
Pod pewnymi względami nauka programowania komputera jest podobna do nauki nowego języka. Wymaga poznania nowych symboli i terminów, które muszą być odpowiednio zorganizowane, aby poinstruować komputer, co ma robić. Kod komputerowy musi być również wystarczająco jasny, aby inni programiści mogli go odczytać i zrozumieć.
Obok tych podobieństw są też jednak istotne różnice. Neuronaukowcy z MIT odkryli, że czytanie kodu komputerowego nie aktywuje obszarów mózgu zaangażowanych w przetwarzanie języka. Zamiast tego aktywuje ono rozproszoną sieć zwaną siecią wielu żądań (multiple demand network), która jest również wykorzystywana przez mózg do złożonych zadań poznawczych, takich jak rozwiązywanie problemów matematycznych czy logicznych (np. krzyżówek).
Jednakże, chociaż odczyt kodu komputerowego aktywuje tą sieć wielu żądań, wydaje się, że polega on bardziej na poszczególnych częściach sieci niż dzieje się to w przypadku problemów matematycznych lub logicznych, co sugeruje z kolei, że kodowanie również nie odtwarza precyzyjnie wymagań poznawczych matematyki.
Z czym więc mamy do czynienia?
Zrozumienie kodu komputerowego wydaje się być odrębną sprawą. To nie to samo, co język i nie to samo, co matematyka i logika - mówi Anna Ivanova, absolwentka MIT i główna autorka badania.Sprawdź oferty pracy na TeamQuest
Evelina Fedorenko, członek McGovern Institute for Brain Research, jest głównym autorem artykułu, który ukazał się aktualnie w eLife. W badaniu wzięli również udział naukowcy z laboratorium informatyki i sztucznej inteligencji MIT oraz z Uniwersytetu Tufts. Głównym przedmiotem badań Fedorenko jest związek między językiem a innymi funkcjami poznawczymi. W szczególności badała kwestię, czy inne funkcje zależą od sieci językowej mózgu, która obejmuje ośrodek Broki i inne regiony lewej półkuli mózgu. W poprzednich pracach jej laboratorium pokazało, że muzyka i matematyka nie wydają się aktywować tej sieci językowej. Ivanona zauważa:
[quote]Tutaj byliśmy zainteresowani zbadaniem związku między językiem a programowaniem komputerowym, częściowo dlatego, że programowanie komputerowe jest tak nowym wynalazkiem, że wiemy, że nie mogą istnieć żadne wbudowane mechanizmy, które uczyniłyby nas dobrymi programistami[quote].Niekoniecznie musisz znać się dobrze na matematyce aby programować
Mówi się, że istnieją dwie szkoły myślenia dotyczące tego, jak mózg uczy się kodować. Jedna z nich twierdzi, że aby być dobrym w programowaniu, trzeba być dobrym z matematyki. Drugi sugeruje, że ze względu na podobieństwa między kodowaniem a językiem umiejętności językowe mogą być bardziej odpowiednie. Aby rzucić światło na ten problem, naukowcy postanowili zbadać, czy wzorce aktywności mózgu podczas czytania kodu komputerowego nakładają się na aktywność mózgu związaną z językiem.
Dwa języki programowania, na których skupili się naukowcy w tym badaniu, są znane ze swojej czytelności - Python i ScratchJr (wizualny język programowania przeznaczony dla dzieci w wieku 5 lat i starszych). Uczestnikami badania były osoby młode ale dorosłe, biegle posługujące się językiem, na którym były testowane. Podczas gdy programiści leżeli poddawani badaniom z wykorzystaniem rezonansu magnetycznego (fMRI), naukowcy pokazywali im fragmenty kodu i poprosili ich o przewidzenie, jakie działanie wywoła kod.
Naukowcy nie widzieli odpowiedzi na kod w obszarach językowych mózgu. Zamiast tego odkryli, że zadanie kodowania aktywowało głównie tak zwaną sieć wielu żądań. Ta sieć, której aktywność jest rozproszona po płatach czołowych i ciemieniowych mózgu, jest zazwyczaj rekrutowana do zadań wymagających jednoczesnego pamiętania o wielu informacjach i jest odpowiedzialna za naszą zdolność do wykonywania różnorodnych zadań umysłowych.
Zespół MIT odkrył, że odczyt kodu komputerowego wydaje się aktywować zarówno lewą, jak i prawą stronę sieci z wieloma żądaniami, a ScratchJr aktywował prawą stronę nieco bardziej niż lewą. To odkrycie jest sprzeczne z hipotezą, że matematyka i kodowanie opierają się na tych samych mechanizmach mózgowych.