Так с чего же начать, если тебе лет так 10-15, и ты решил, что разрабатывать игры, сайты или мобильные приложения - это круто?
Кажется, что вариантов - тьма, но нет, их от силы пять. А я знаю и вовсе четыре:)
1) Scratch (или программирование в MineCraft)
Эдакая песочница для младших школьников, где можно нарисовать игру, но нельзя ничего сломать. Прекрасный вариант, если тебе около 10 лет. Лет в 14 уже не надо
Плюсы:
- Легко разобраться (мало кнопок, много картинок);
- Легко добиться наглядного результата (минут за 5 можно сделать программу, где котик будет двигаться вперед-назад);
- Приучает к терпению (что, впрочем, относится к любому языку). Уже здесь тебе придется писать код строк на 30. Ну а если 30 строк - тяжело, друг, не иди в программирование.
Минусы:
- Некуда развиваться. Скачать расписание занятий с сайта школы, перезагружать мой компьютер каждый день в 0-00, запросить данные с фитнес-браслета - это все невыполнимо для Scratch и подобных ему сред
2) HTML
Язык, на котором написаны все страницы твоего браузера (даже эта). Хороший вариант почти в любом возрасте. Если хватает терпения
Плюсы
- Написанный код открывается любыми браузерами (мобильными тоже). Больше того, во многих браузерах ты можешь его редактировать
- Ясно, куда развиваться дальше. От простой страницы на HTML переходим к красивой (в которой используется CSS), дальше добавляем какие-нибудь подсказки (написанные на JavaScript), потом серверные вычисления на PHP (Python, C# и т.д.), потом подключаем базы данных (на любом SQL).
- Пригодится, даже если не станешь программистом (у жены заказ в Avon не отправлялся из-за того, что у кнопки было написано слово "disabled", а оно редактируется прямо в браузере:) )
Минусы
- Пройдет очень много времени, прежде чем ты сможешь похвалиться созданной web-страницей. Первые несколько дней все будет некрасиво
3) Детская библиотека для C++ (Python, Java)
В будущем здесь можно будет писать всевозможные приложения, а пока тебе дают возиться в песочнице, чтобы код не пугал своей сложностью. Хороший вариант лет с двенадцати
Плюсы
- Сразу получится что-то наглядное, так что тебя затянет (в отличие от этих же языков в чистом виде, без библиотек типа TXLib)
- Есть куда развиваться. Если в процессе обучения отойдешь от "детской библиотеки" и научишься писать приличного размера приложения на классическом C++, считай, ты уже стал программистом
- Полная свобода развития. В будущем можешь хоть в web удариться, хоть в мобильные приложения, хоть в интернет вещей - на C++ пишут всё
Минусы
- Минусы те же, что у "взрослой" версии изучаемого языка. В том же С++ со временем надоест писать слова "strcmp", "intptr" и "lpctstr" (они неплохие, но это не то имя, которым хочется назвать сына) вместо "==", "int" и "string" в более развитых языках
Наверное, есть и другие проблемы. Но я сам детей плюсам в "детской библиотечке" учу, так что автор купленный:)
4) Arduino
Когда-нибудь ты станешь крутым программистом для роботов или IoT, а пока учишься программно включать лампочки:) Хороший вариант в качестве хобби. Или если прям хочешь стать робототехником / спецом по IoT (если хочешь стать промышленным программистом, Arduino не поможет:))
Плюсы
- Низкий порог входа. Можете найти на YouTube видео, как за 10 минут заставить лампочку мигать
- На точно таком же Arduino можно писать код для приличных IoT-решений, которые продаются за деньги
- Результат гораздо нагляднее каких-нибудь игр на C++. Там всего-лишь человечек управляет стрелками, а у тебя будет робот, который препятствия объезжает. В общем, если хочешь добиться поцелуя от дамы сердца, Arduino надежнее плюсов:)
Минусы
- Специфическая область. Код для роботов не похож на код игры на Unity или HTML-разметку сайта. Это значит, что развиваясь как программист на Arduino, ты не становишься сильнее как просто программист. И если после 5 лет кодирования роботов ты переходишь в web-разработку, по факту у тебя месяц опыта
- Надо знать физику. Иначе просто будешь путать "плюс" с "минусом" и сжигать диоды. Или однажды случайно припаяешь к роботу ключ от входной двери
- Капиталовложения. Конечно, чтобы купить пару плат квартиру продавать не придется, но надо быть готовым тратить на оборудование по несколько тысяч каждые полгода. А все предыдущие варианты были бесплатными (в том же web-программировании достаточно скачать denwer и писать в нем код следующие 2 года)
P.S. Я признаю, что тот же C++ (или Pascal) - это классика, все на нем учились и не жалуются. Но есть причина, по которой на чистых плюсах не стоит писать код раньше 14 (примерно) лет. Это наглядность. Вот пример программы на C++ длиной 400 строк (соотношение трудозатрат и результата отобьет желание писать код у 98 из 100 человек).
Да, и ставьте лайк, люди! Я в вас верю:)