Если думаете отдать ребенка учиться программированию
Если раньше, как в известном анекдоте, отец, когда видел ребенка воткнувшегося в компьютер говорил ему - "может лучше бы пошел в футбол поиграть", после того как послушал комментатора, рассказывающего о гонорарах очередной футбольной звезды, то сегодня скорее можно услышать обратный вариант - предложение "повтыкать" в компьютер. А если серьезно, то наша студенческая лаборатория довольно часто получает вопросы о том, какому языку программирования отдать предпочтение. Не секрет, что такие вопросы прежде всего задают дилетанты или люди далекие от IT. И в том числе чаще всего вопросы исходят от родителей, выбирающих для своего ребенка курсы по программированию или отдающих свое чадо в детскую ИТ-школу, чтобы он получил стартовое IT образование. И это не такой простой вопрос как кажется. Разберемся с этим.
О трендах в программировании
Ну раз речь пошла о трендах, то ясно что предпринимается попытка сделать удачный прогноз на перспективу по выбору языка для своего ребенка. Сразу успокоим всех и аргументируем бесполезность угадывания перспектив того или иного языка программирования на ближайшее десятилетие:
- Во-первых, технологии и парадигмы языков программирования меняются достаточно быстро;
- Во-вторых, для работы в будущем все равно не достаточно знания одного языка программирования;
- В-третьих, важно понимать принципы программирования, выработать алгоритмическое мышление и уметь реализовать алгоритм в код, а переучить синтаксис и набраться практических умений в том или ином направлении уже можно потом.
Чтобы усилить наши аргументы, покажем динамику популярности двух брендовых языков программирования: Java и Python. Сравним частоту запросов в Google Trends, начиная с 2004 года. Смотрите график ниже.
Очевидна тенденция: сегодня популярность Java и Python почти на одном уровне. Но, тренд для Java на понижение а для языка Python - устойчивый рост. Но, давайте посмотрим отдельно график тренда частоты запросов - смотрите ниже. И тут мы уже видим скачки в частоте. А что будет через десять или хотя бы пять лет?
Так что мы все же советуем
Наверное финальный совет нашей студенческой лаборатории будет таким: подумайте о вашем ребенке. Для младшего школьника проще будет Python, а старшего можете смело записывать на курсы Java. Или вообще положитесь на самостоятельный выбор ребенка (доверьтесь его интуиции и интересам) или даже пусть в ИТ-школе вам помогут с выбором.
✔ P.S. Для каждого языка программирования есть своя ниша. Да, можно здорово проколоться, начав учить FORTRAN или Делфи. Но, вот к примеру в США все еще гонка за теми, кто знает PL/4 так как есть рабочий софт и нет желающих писать на этом языке и править старые разработки.