1. Поток

Исследование: чтобы хорошо кодить, склонность учить языки важнее, чем математические способности

Уче­ные из Уни­вер­си­те­та Ва­шинг­то­на об­на­ру­жи­ли: для тех, кто хо­чет стать про­грам­ми­стом, та­лант к осво­е­нию ино­стран­ных язы­ков важ­нее, чем ма­те­ма­ти­че­ские спо­соб­но­сти. По­то­му что на­пи­са­ние кода пред­по­ла­га­ет изу­че­ние дру­го­го язы­ка — то есть спо­соб­ность быст­ро за­по­ми­нать но­вую лек­си­ку и грам­ма­ти­ку и по­ни­мать, как они устро­е­ны. Не ме­нее важ­ны и та­кие ко­гни­тив­ные функ­ции, как уме­ние ре­шать про­бле­мы и ис­поль­зо­ва­ние опе­ра­тив­ной па­мя­ти моз­га. На­уч­ная ра­бо­та про­фес­со­ра пси­хо­ло­гии Шан­тель Пратт и ее кол­лег, опуб­ли­ко­ван­ная 2 мар­та в жур­на­ле Sci­en­tific Re­ports, до­ступ­на в сво­бод­ном до­сту­пе.







Сте­рео­ти­пы о том, что дол­жен пред­став­лять из себя раз­ра­бот­чик и кому сто­ит идти обу­чать­ся про­грам­ми­ро­ва­нию, ча­сто сфо­ку­си­ро­ва­ны во­круг ис­клю­чи­тель­но ма­те­ма­ти­че­ских на­вы­ков. Од­на­ко та­кой взгляд не на­хо­дит на­уч­но­го под­твер­жде­ния, счи­та­ет ру­ко­во­ди­тель ис­сле­до­ва­ния Шан­тель Прат. Про­грам­ми­ро­вать слож­но, и это на­вык, ко­то­рый ста­но­вит­ся все бо­лее вос­тре­бо­ван­ным. При этом ин­фор­ма­ции о том, что нуж­но, что­бы стать хо­ро­шим спе­ци­а­ли­стом в сфе­ре IT, ка­та­стро­фи­че­ски не хва­та­ет. И это явно услож­ня­ет ре­ше­ние про­бле­мы ген­дер­но­го нера­вен­ства в ин­ду­стрии, до­бав­ля­ет Прат.

В ис­сле­до­ва­нии при­ня­ли уча­стие бо­лее 30 че­ло­век, изу­чав­ших по­пу­ляр­ный язык про­грам­ми­ро­ва­ния Python. Доб­ро­воль­цев по­про­си­ли прой­ти се­рию те­стов, что­бы оце­нить их со­бран­ность, язы­ко­вые и ма­те­ма­ти­че­ские спо­соб­но­сти. Те, кому уда­лось быст­рее осво­ить Python, так­же луч­ше спра­ви­лись с ре­ше­ни­ем ло­ги­че­ских за­дач и про­де­мон­стри­ро­ва­ли та­лант к ино­стран­ным язы­кам.

Прат объ­яс­ня­ет, что в этом от­кры­тии есть ло­ги­ка, ведь ко­динг име­ет мно­го об­ще­го с линг­ви­сти­кой: про­грам­ми­ро­ва­ние пред­став­ля­ет со­бой про­из­вод­ство зна­че­ний по­сред­ством ком­би­ни­ро­ва­ния раз­ных сим­во­лов по опре­де­лен­ным пра­ви­лам.

Python, по мне­нию Прат, по­хож на ан­глий­ский: тут тоже есть де­ле­ние на аб­за­цы, кро­ме того, в от­ли­чие от дру­гих язы­ков про­грам­ми­ро­ва­ния, ко­ман­ды со­став­ля­ют­ся из слов, а не из сим­во­лов.

Что­бы изу­чить ней­рон­ные и ко­гни­тив­ные ха­рак­те­ри­сти­ки «пред­рас­по­ло­жен­но­сти» к про­грам­ми­ро­ва­нию, уче­ная со­бра­ла груп­пы доб­ро­воль­цев в воз­расте от 18 до 35 лет, ко­то­рые ни­ко­гда до это­го не изу­ча­ли ко­динг.

Преж­де чем на­чать обу­че­ние, во­лон­те­ры про­шли ис­пы­та­ния двух ти­пов. Спер­ва участ­ни­кам сде­ла­ли элек­тро­эн­це­фа­ло­грам­мы моз­га в спо­кой­ном со­сто­я­нии. В сво­ем преды­ду­щем ис­сле­до­ва­нии Прат по­ка­за­ла, что пат­тер­ны моз­го­вой ак­тив­но­сти в рас­слаб­лен­ном со­сто­я­нии с 60% ве­ро­ят­но­стью по­мо­га­ют пред­ска­зать, с ка­кой ско­ро­стью че­ло­век вы­учит язык.

За­тем доб­ро­воль­цы про­шли во­семь раз­ных те­стов: один был на­прав­лен на ма­те­ма­ти­че­ские на­вы­ки, дру­гой — на язы­ко­вые спо­соб­но­сти, осталь­ные — на кон­цен­тра­цию, ре­ше­ние ло­ги­че­ских за­дач и па­мять.

Обу­че­ние Python про­хо­ди­ло он­лайн: уче­ни­ки смот­ре­ли уро­ки дли­тель­но­стью от 10 до 45 ми­нут на плат­фор­ме Codea­cad­emy. Каж­дое за­ня­тие было по­свя­ще­но од­но­му кон­цеп­ту, к при­ме­ру — усло­вию if/​​then, и за­вер­ша­лось неболь­шим те­стом на про­вер­ку изу­чен­но­го. Доб­ро­воль­цы мог­ли вос­поль­зо­вать­ся под­сказ­кой, об­ра­тить­ся к ин­фор­ма­ци­он­но­му бло­гу, где пе­ре­пи­сы­ва­лись быв­шие сту­ден­ты, или на­жать на кноп­ку с ре­ше­ни­ем за­да­чи.

Ис­сле­до­ва­те­ли сле­ди­ли за ско­ро­стью и точ­но­стью про­хож­де­ния уро­ков с по­мо­щью про­грам­мы для де­мон­стра­ции чу­жо­го экра­на.

По­сле за­вер­ше­ния обу­че­ния, участ­ни­ки сно­ва про­шли тест — на этот раз на зна­ние функ­ций и струк­ту­ры кода Python. В ка­че­стве сво­е­го фи­наль­но­го ис­пы­та­ния во­лон­те­ры долж­ны были на­пи­сать игру «Ка­мень, нож­ни­цы, бу­ма­га». Так ис­сле­до­ва­те­ли про­ве­ря­ли, на­сколь­ко хо­ро­шо уче­ни­ки мог­ли вос­поль­зо­вать­ся усво­ен­ны­ми зна­ни­я­ми.

В ито­ге вы­яс­ни­лось, что по­ка­за­те­ли «пред­рас­по­ло­жен­но­сти» к изу­че­нию язы­ков по­мог­ли пра­виль­но пред­ска­зать, на­сколь­ко успеш­но че­ло­век спра­вит­ся с уро­ка­ми про­грам­ми­ро­ва­ния. Ма­те­ма­ти­че­ские спо­соб­но­сти и гиб­кость мыш­ле­ния так­же были свя­за­ны с та­лан­том к IT, од­на­ко вли­я­ние этих фак­то­ров ока­за­лось ме­нее зна­чи­тель­ным. Бо­лее того, преды­ду­щее ис­сле­до­ва­ние Прат здесь так­же на­шло свое под­твер­жде­ние: по ак­тив­но­сти моз­га в со­сто­я­нии по­коя мож­но было по­нять, на­сколь­ко лег­ко участ­ни­ку бу­дет изу­чить но­вый язык — в дан­ном слу­чае, Python.