Что полезнее новичку — решать задачи или делать проекты?
Постоянный спор. Одни говорят «решай задачи, набивай руку на алгоритмах», другие — «забей на задачки, делай проекты, там реальные навыки». А как на самом деле эффективнее учиться? Интересны мнения.
4 ответа
Это ложная дилемма — нужно и то, и другое, просто на разных этапах и для разных целей.
Задачи дают: беглость в синтаксисе, знание базовых алгоритмов и структур данных, скорость мышления. Это как гаммы для музыканта. Особенно полезно в самом начале и перед алгоритмическими собесами.
Проекты дают: то, чего задачи не дадут вообще — работа с реальной грязью (внешние API, базы, ошибки окружения, git, чтение чужого кода, доведение до конца). Это ближе всего к настоящей работе.
Моя схема: задачами набиваю базу и поддерживаю форму (немного, регулярно), а основное время — на проект. Чисто задачники делают человека, который решает олимпиадки, но боится собрать веб-приложение. Чисто проекты без задач — пробелы в базе. Баланс.
Задачи — для базы и собесов, проекты — для реальных навыков. Нужно и то, и другое.
На старте — задачи, чтобы синтаксис стал автоматическим. Дальше — больше проектов. Бесконечно сидеть на задачках смысла мало.
Только проекты. Задачи — пустая трата времени, на работе никто не пишет бинарный поиск.