Допустим, что я не знаю языков и никогда не писал код. Какой из следующих вариантов на Ваш взгляд лучше?
1. Я смотрю, какие бывают алгоритмы. Разбираю примеры алгоритмов. Только после этого пытаюсь их повторить.
2. Я смотрю, какие бывают алгоритмы. Пытаюсь понять, как они должны работать (через описание алгоритма, визуализацию (например, как с алгоритмами сортировки на Ютубе) и так далее). Пытаюсь сам написать код, который подходит под описание. Только после этого сравниваю работоспособность своего велосипеда с общеизвестным велосипедом.
Для меня ясно, что первый вариант быстрее, а второй медленнее, но в каком случае будет получен лучший опыт?
Да, при обучении полезно делать что-то самостоятельно. Если вы самостоятельно можете составить алгоритм, это лучше чем сдаться не найдя подходящий готовый. Но при этом стоит помнить, что многие алгоритмы отточенные крутыми профессионалами могут уделывать вашу самоделку по скорости в разы, в десятки раз, а иногда и на много порядков.
Так что если вы внезапно осознали что вот к этой задаче можно применить воон тот алгоритм из книжки - применяйте его.
В первом случае вы как бы подглядываете в ответы, а во втором пытаетесь обдумать решение самостоятельно. Я думаю нужно мысле-мышцу тренировать, а не память. (Нет, помнить надо, но не конкретную реализацию, а что где то я это уже видел, слышал, т.е. хранить ссылки на знания)
Конечно полезно, и забудь про "велосипеды и велосипедистов", кто про это говорит, сам не понимает ничего в этом. Хороший продукт тот, который созданный тобой, а не кем то
Полезно так как развивает мышление.
Но вредно так как у современного специалиста должен быть широкий кругозор по поиску и использованию чужих решений. Многие же предпочитают не заморачиваться в происке уже отлаженных другими людьми вещей, не напрягаться, а сделать на коленке гуано и пользоваться им.
В целом - велосипеды полезно для обучения.
Но не более.
ох уж эти примеры про сборку, велосипеды и прочее... Обычно это говорят не опытные, которые привыкли к шаблону, а сами ничего сделать/написать не могут...