«Для программирования математика не так уж важна»: зачем растить из ребёнка программиста

14 279

«Для программирования математика не так уж важна»: зачем растить из ребёнка программиста

14 279

13% родителей хотят видеть своего ребенка программистом — это данные исследования компании «Ромир» за 2019 год. По итогам 2020-го цифра может как минимум удвоиться: тренд на диджитализацию возьмет свое. Но возникает вопрос: будет ли эта профессия так же актуальна через 10 лет? И всем ли детям нужно программирование? Разбираемся вместе с Андреем Терешко, руководителем направления front-end разработки «Учи.ру».

Растить ли из ребенка программиста

После мартовского исследования «Ромира» в конце 2019 года похожий опрос был проведен образовательной онлайн-платформой «Учи.ру». Цифры серьезно изменились: уже 38% опрошенных родителей хотели бы, чтобы ребенок стал программистом, работал с big data, анализировал данные. Тем более сегодня для этого есть все возможности — начать может даже первоклассник: первый код можно написать в игровом формате на онлайн-курсе.

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

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

А ещё родители часто запаздывают с пониманием «востребованности». Когда какой-то новый тренд становится явным для всех, эффект новизны теряется. Угадать, какая отрасль или тем более профессия будет на подъеме, когда сегодняшний восьмиклассник окончит школу, крайне сложно.

Лучше расширять круг возможностей ребенка с самого раннего возраста при помощи кружков и секций. Предлагать новое, поддерживать в этом. Через деятельность ребенок познает себя и приходит к пониманию, как и через что он захочет менять мир. Не существует универсальной книги или теста, который моментально определит перспективное будущее для ребенка.

При этом почти в 60% случаев финальное решение, куда пойдет школьник, принимается родителем. Это неправильно: решать должен ребёнок. Особенно в IT: реального успеха здесь добиваются только энтузиасты, которые любят свое дело и хотят в нем открывать что-то новое.

Когда и как подходить с ребенком к программированию

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

Согласно исследованию «Учи.ру», каждый третий родитель считает оптимальным временем для изучения основ программирования период с 1-го по 4-й класс, а 31% респондентов и вовсе хотят начать в дошкольном возрасте. На период «после окончания школы» готовы отложить изучение IT менее 1% родителей. А поскольку программирование не часть школьной программы, 56% родителей выбирают для изучения этого предмета кружки, еще 20% — онлайн-платформы.

Но прежде чем выбирать кружки и просматривать курсы, узнайте у ребёнка, интересна ли ему эта область: почитайте книги, поиграйте в настолки. Совместная деятельность позволит вам лучше оценить его интерес и возможности. Это особенно важно, когда мы говорим про дошкольников и младших школьников. Искать и проверять, подойдет ли ребенку программирование, нужно на стыке новой темы с его текущими интересами. Если ребенок играет в «Майнкрафт», это отличная платформа для программирования. Если он увлекается роботами, предложите ему кружок робототехники. Нет универсального ответа «дать такую-то книгу, потом в такой-то кружок».

Особенно частое заблуждение — если ребенок плох в математике, ему закрыта дорога в программирование. В программировании и разработке она не так важна. Конечно, понимание математики не помешает. Даже если потом ребенок не выберет IT-сферу, математическое мышление пригодится в любой сфере деятельности.

Какие языки программирования учить

Сфера IT в целом очень динамичная: за двадцать лет изменились профессии и задачи отдельных специалистов — например, веб-дизайнеров. Изменилось количество языков и их популярность. Если целиться в конкретный сектор (разработка игр, системное администрирование или что-то другое), нужно понимать, что разделение идет не по языкам, а по платформам. Это некий набор окружающих интерфейсов, API и прочего, внутри чего варится программа, написанная разработчиком. Внутри одной платформы может существовать несколько языков, а законы и принципы работы с ними будут очень похожи.

Каждый язык, который появлялся в определенный момент, служил конкретной цели. Например, JavaScript создавали в короткие сроки именно для «оживления» сайтов, анимирования страниц. Однако с развитием и набором популярности он стал практически универсальным.

Если разбирать языки по сферам деятельности, то в web-разработке ведущим остается JavaScript. Существуют языки, которые потом в него трансформируются, но именно в браузере сейчас работает массово только JavaScript. При этом на нем делают браузерные и десктопные игры, работают с нейросетями и даже программируют микропроцессоры.

JavaScript можно рекомендовать для решения любых прикладных задач. Например, он используется в серверной разработке. Но здесь альтернативой может быть Go (Golang) — он сложнее в освоении, но позволяет делать более производительные вещи.

В мобильной разработке языки подбираются под платформу устройства. Для Android используется Kotlin, для iOS — Swift, созданный разработчиками Apple. Но опять же их чаще выбирают, когда заходит речь про высокопроизводительные решения. Обычные приложения, которые, например, разрабатываются для маркетплейсов, часто пишутся на JavaScript: это проще и быстрее.

Языки C, С++ в основном необходимы в десктопной или системной разработке, а также в разработке для встроенных систем. Самым первым в этой линейке является C, сегодня используемый для создания приложений и платформ низкого уровня. Но наиболее универсальным считается С++, на котором выстроены некоторые браузеры и операционные системы.

В машинном обучении, для Data Science, аналитики и прочих подобных задач лидером остается Python. Он ориентирован на повышение производительности разработчика, позволяет совершенствовать работу машин. Однако и с его помощью мы можем, например, создавать веб-сервисы, хотя это не его прямое назначение.

Есть определенные особенности выбора языка: например, нужно написать высокопроизводительную игру, которая будет работать максимально быстро, — значит, нужны компилируемые языки. Если скорость и эффективность решения не так важны, можно использовать интерпретируемые. В этом и есть сложность инженерии — выбрать подходящий инструмент из множества. Но в целом любой язык можно использовать для любой задачи.

Проверить заинтересованность ребенка в программировании и его способности к этой науке можно с помощью бесплатной олимпиады по программированию от «Учи. ру», основной тур которой проходит с 15 по 25 декабря 2020 года. Мероприятие рассчитано на школьников 1–9-х классов, не требует особой подготовки и глубоких знаний, поэтому может стать отличным трамплином для начала изучения нового интересного предмета.