Ты видел, как одноклассник написал бота для Telegram, или посмотрел ролик, где за 20 минут делают игру, и подумал: «Хочу так же». Открыл поисковик, а там — сотня языков, курсы за 60 тысяч, споры «Python или C++», и советы «начни с алгоритмов», от которых непонятно, куда вообще нажимать.
Хорошая новость: чтобы начать, нужен обычный компьютер, бесплатный редактор и один язык. Плохая: большинство бросает через две недели, и не потому, что сложно, а потому что начали не с того — с теории вместо проекта, с «правильного» языка вместо интересного.
В этой статье — с какого языка начать в зависимости от возраста, где учиться бесплатно, план на первые три месяца и что делать, когда застрял. Без обещаний «стать программистом за месяц» — но с реальным маршрутом, по которому за полгода ты напишешь то, что захочется показать друзьям.
Какой язык учить первым
Ответ зависит от возраста и цели, но вариантов на самом деле два-три:
| Возраст | Первый язык | Почему | Что можно сделать через 2–3 месяца |
|---|---|---|---|
| 10–12 | Scratch | Визуальные блоки, нет синтаксиса, сразу видно результат | Игру, мультфильм, интерактивную открытку |
| 12–16 | Python | Простой синтаксис, читается как английский, огромное сообщество | Telegram-бота, текстовую игру, парсер погоды, простую 2D-игру на pygame |
| 14–16, цель — сайты | JavaScript (+ HTML/CSS) | Работает в браузере, результат видно сразу | Сайт-визитку, игру в браузере, калькулятор |
| 15–16, цель — олимпиады | C++ | Стандарт олимпиадного программирования, быстрый | Решать задачи на Codeforces, acmp.ru |
Если сомневаешься — Python. Это и язык школьной информатики (в ЕГЭ его допускают в заданиях с программированием), и язык, на котором пишут ботов, анализируют данные, делают нейросети. Порог входа минимальный: первая программа — одна строка print("Привет").
Ошибка: начинать с C++ «потому что он серьёзный». Серьёзность языка не делает тебя программистом. В C++ ты будешь неделю разбираться, почему программа не компилируется из-за пропущенной точки с запятой, вместо того чтобы что-то делать. C++ — второй язык, когда уже понимаешь, что такое переменные, циклы и функции.
Что нужно, чтобы начать
- Компьютер. Любой, выпущенный за последние 10 лет. Планшет и телефон — не подходят для нормальной работы (можно только пробовать).
- Python. Скачай с python.org, при установке на Windows поставь галочку «Add Python to PATH».
- Редактор. Visual Studio Code — бесплатный, с расширением Python. Или Thonny — специально для новичков, ставится вместе с Python и не требует настройки.
- Час в день, 4–5 дней в неделю. Это важнее всего остального. Час каждый день лучше, чем шесть часов в субботу.
Установка и первая программа — 20 минут. Дальше начинается настоящее.
План на первые три месяца
Ключевая идея: учить не язык, а делать проекты, и брать из языка ровно то, что нужно для текущего проекта.
Месяц 1. Основы через мини-задачи
Что нужно понять: переменные, ввод-вывод, условия if, циклы for и while, списки, функции. Это ядро любого языка.
Каждую тему закрепляй маленькой программой:
| Неделя | Тема | Мини-проект |
|---|---|---|
| 1 | Переменные, print, input, арифметика |
Калькулятор возраста: вводишь год рождения — выводит, сколько тебе лет и сколько дней ты прожил |
| 2 | Условия if/elif/else |
«Угадай число»: программа загадывает, ты угадываешь, она говорит «больше/меньше» |
| 3 | Циклы for, while |
Таблица умножения; программа, которая считает сумму цифр числа |
| 4 | Списки, строки, функции | Список дел в консоли: добавить, показать, удалить; подсчёт гласных в строке |
К концу месяца ты должен уметь написать программу на 30–50 строк без подсказок.
Месяц 2. Первый настоящий проект
Выбери одно из трёх — то, что реально хочется:
- Текстовый квест. Комнаты, выбор действий, инвентарь. Тренирует условия, функции, словари.
- Telegram-бот. Библиотека
aiogramилиpython-telegram-bot. Бот, который отвечает на команды, бросает кубик, присылает случайную цитату. Тренирует функции, работу с внешней библиотекой, чтение документации. - Игра на pygame. Змейка, пинг-понг, «уворачивайся от падающих блоков». Тренирует циклы, координаты, события.
Проект делай две-три недели, по кусочку в день. Не стремись сразу к идеалу — сначала «работает хоть как-то», потом улучшай.
Месяц 3. Понять, как это устроено
Теперь, когда есть опыт, добавляй теорию, которая раньше не имела смысла:
- Словари и множества — когда список не подходит.
- Работа с файлами — сохранить прогресс игры, записать список дел на диск.
- Обработка ошибок
try/except— чтобы программа не падала, когда пользователь вводит букву вместо числа. - Основы алгоритмов: сортировка, поиск, как оценивать «быстро/медленно».
И — второй проект, сложнее первого. Или улучшение первого: у бота появляется база данных, у игры — уровни и рекорды.
Где учиться бесплатно
Платные курсы не обязательны. Что реально работает:
- Stepik — бесплатный курс «Поколение Python» для начинающих. Задачи с автопроверкой, объяснения на русском, подходит с 12 лет.
- Codeforces, acmp.ru, informatics.msk.ru — задачи по алгоритмам, если тянет к олимпиадам. Начни с самых лёгких, там есть разбивка по сложности.
- Документация Python на русском (docs.python.org/ru) — не для чтения подряд, а чтобы искать ответ на конкретный вопрос.
- YouTube — есть хорошие каналы, но правило одно: не смотри больше 15 минут без того, чтобы написать код самому. Видео создаёт иллюзию понимания.
- Школьные кружки и олимпиадные школы — бесплатные при многих вузах и центрах допобразования. Спроси учителя информатики.
Платные курсы имеют смысл, если нужен наставник, который проверит код и ответит на вопросы. Но сначала дойди до конца бесплатного курса — станет ясно, тянет ли тебя в это вообще.
Что делать, когда застрял
Застревать будешь постоянно, и это нормально. Порядок действий:
- Прочитай ошибку. Python пишет, в какой строке проблема и что не так.
NameError: name 'x' is not defined— переменнаяxне создана.IndentationError— сбились отступы. Большинство ошибок новичка расшифровываются прямо по тексту. - Выведи промежуточные значения. Вставь
print(переменная)в подозрительное место и посмотри, что там на самом деле. - Загугли текст ошибки дословно, на английском. Почти любая ошибка новичка уже обсуждалась на Stack Overflow.
- Объясни проблему вслух — самому себе или другу. Часто в процессе объяснения находишь ошибку сам (программисты называют это «метод резиновой уточки»).
- Спроси. Если два дня не сдвигаешься — спроси на форуме или в Razbery, приложив код и текст ошибки. Просьба «помогите, не работает» без кода — не вопрос.
Пример: Максим, 13 лет, делал бота, который присылает случайный факт. Бот запускался и падал через секунду. Три дня переписывал код «с нуля», не помогло. Потом прочитал ошибку целиком — там было
Unauthorized. Оказалось, он скопировал токен бота с лишним пробелом в конце. Одна строка, три дня. Мораль: ошибку читать до конца.
Программирование и школьная информатика
Школьная информатика и программирование пересекаются, но не совпадают. В ЕГЭ по информатике примерно треть заданий решается программой (обычно на Python), остальные — про системы счисления, логику, сети, таблицы. Если ты учишь Python по этой статье, задания 16, 17, 24, 25, 27 (номера могут меняться год от года — проверяй демоверсию на ФИПИ) станут заметно проще.
Для оценки в школе достаточно того, что даёт учебник. Для ЕГЭ — план в статье про подготовку к информатике. Для олимпиад — C++ и много задач, это отдельная дорога.
Как не бросить
Программирование бросают не из-за сложности, а из-за отсутствия видимого результата. Что помогает:
- Проект, а не курс. Курс заканчивается — мотивация тоже. Проект хочется доделать.
- Ежедневный минимум — 20 минут. Даже если нет сил на час. Стрик важнее объёма: в Doday можно завести привычку «код 20 минут» и следить за серией дней.
- Показывай результат. Другу, родителям, в чат класса. Бот, который работает, — лучший мотиватор.
- Веди список «что я умею». Раз в неделю дописывай: «научился читать файлы», «сделал меню в игре». Через три месяца увидишь путь.
- Не сравнивай себя с ютуберами. Человек, который в ролике пишет игру за 20 минут, писал её до этого 20 раз.
Типичные ошибки
- Смотреть видео вместо того, чтобы писать код. Десять часов роликов дают меньше, чем два часа собственных ошибок.
- Копировать код, не понимая. Скопированный код работает, пока не надо его поменять. Перепечатывай руками и меняй хоть что-то.
- Учить «всё подряд» по учебнику. Главы про классы, декораторы и генераторы в первый месяц не нужны. Бери то, что нужно проекту.
- Начинать с большого проекта. «Хочу сделать MMORPG» — верный путь бросить на второй день. Сначала змейка.
- Менять язык каждые две недели. «Python скучный, попробую JavaScript, а может, Rust?» — так не получится ни на одном. Полгода одного языка, потом любой другой освоишь за месяц.
- Бояться ошибок. Красный текст в консоли — не «ты тупой», а инструкция, что исправить.
Частые вопросы
С какого языка начать программировать школьнику?
С Python, если тебе 12 и больше; со Scratch, если младше или совсем не хочется возиться с текстом. Python простой, читается почти как английский, на нём пишут ботов, игры, сайты и анализируют данные. Он же используется в ЕГЭ по информатике.
Можно ли научиться программировать самому, без курсов?
Да, большинство программистов так и учились. Нужны: бесплатный курс для основ (Stepik «Поколение Python»), проект, который хочется сделать, и привычка искать ответы на ошибки самостоятельно. Курсы с наставником ускоряют, но не обязательны.
Сколько времени нужно, чтобы научиться программировать?
При часе в день: через месяц напишешь программу на 50 строк, через три — первого бота или простую игру, через полгода — проект, который не стыдно показать. До уровня «могу работать» — год-два регулярной практики. Быстрее — только если заниматься по 4–6 часов в день.
Нужна ли математика для программирования?
Для ботов, сайтов и простых игр — школьной арифметики и логики хватает. Математика нужна для олимпиад, компьютерной графики, машинного обучения. Если математика идёт тяжело — это не повод не начинать: программирование, наоборот, часто помогает её понять.
Стоит ли идти на платные курсы для детей?
Сначала пройди бесплатный курс до конца. Если дошёл и хочется дальше — платный курс с живым наставником и проверкой кода может ускорить. Если бросил бесплатный на второй неделе, платный не спасёт: проблема не в материалах, а в привычке.
Что дальше
- ЕГЭ по информатике: план подготовки
- Разбор задач по информатике на Python
- Как выработать привычку учиться
- Стрик и геймификация учёбы: почему это работает
- Держать ежедневный «код 20 минут» и не терять серию: Doday — бесплатно для школьников