Когда я, наконец, начал изучать программирование около двух месяцев назад, я давно хотел это сделать. На самом деле мне потребовались годы, чтобы перейти от застенчивого «Было бы круто научиться программированию» до «Я сделаю это сейчас!». Я постоянно собирал небольшие обнадеживающие моменты, пока у меня их не стало достаточно, чтобы частично бросить работу и инвестировать в обучение программированию.

Одним из таких моментов было исследование, которое было опубликовано в журнале Nature в марте 2020 года. По иронии судьбы, я наткнулся на него, работая научным журналистом на Шведском радио. (Если вы говорите по-шведски, то можете послушать небольшие новости здесь. Мой голос вы здесь не услышите, но клянусь, это я написал сценарий для ведущего новостей.)

Для исследования исследователи позволили 42 людям изучить программирование на Python и попытались смоделировать их результаты обучения с другими навыками и способностями. Результаты показали, что лучше всего можно предсказать, насколько легко человеку будет выучить Python, по плавности рассуждений и объему рабочей памяти. Но вот самое интересное: фактором, который был вторым лучшим фактором для прогнозирования, была языковая способность. Счет, напротив, едва ли можно было использовать для прогнозирования чьего-либо результата обучения, когда дело доходило до программирования. Другими словами: Если вы хотите изучать программирование, важнее хорошо знать языки, чем хорошо разбираться в математике!

Исследование было довольно небольшим (с 42 испытуемыми), и я признаю, что не изучал, сколько других исследований существует, которые могут говорить о другом. Но для меня это исследование многое изменило. Вроде — вау! Забудьте о математике, речь идет о языке!

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

Теперь, когда я начал изучать программирование, мне интересно, откуда взялась эта идея, которая так долго удерживала меня от программирования. Так что тут только предположение:

На заре программирования написание кода могло быть более абстрактным, и математика тоже абстрактна. Даже сегодня вы можете использовать сложную математику, если хотите понять теорию программирования. И в зависимости от того, каким типом программирования вы занимаетесь сегодня, вам может понадобиться математика и для некоторых из них. Но дни ранних абстрактных языков прошли десятилетия назад!

В первые недели обучения я писал такой код:

Я уверен, что если вы знаете английский язык, вы можете получить приблизительное представление о том, что представляет собой этот код, который вы видите выше. Даже если вы ничего не знаете о кодировании и не имеете ни малейшего представления о математике.