Полезно ли при обучении изобретать велосипеды?

Допустим, что я не знаю языков и никогда не писал код. Какой из следующих вариантов на Ваш взгляд лучше?

1. Я смотрю, какие бывают алгоритмы. Разбираю примеры алгоритмов. Только после этого пытаюсь их повторить.
2. Я смотрю, какие бывают алгоритмы. Пытаюсь понять, как они должны работать (через описание алгоритма, визуализацию (например, как с алгоритмами сортировки на Ютубе) и так далее). Пытаюсь сам написать код, который подходит под описание. Только после этого сравниваю работоспособность своего велосипеда с общеизвестным велосипедом.

Для меня ясно, что первый вариант быстрее, а второй медленнее, но в каком случае будет получен лучший опыт?
  • Вопрос задан
  • 713 просмотров
Решения вопроса 3
Stalker_RED
@Stalker_RED
Да, при обучении полезно делать что-то самостоятельно. Если вы самостоятельно можете составить алгоритм, это лучше чем сдаться не найдя подходящий готовый. Но при этом стоит помнить, что многие алгоритмы отточенные крутыми профессионалами могут уделывать вашу самоделку по скорости в разы, в десятки раз, а иногда и на много порядков.

Так что если вы внезапно осознали что вот к этой задаче можно применить воон тот алгоритм из книжки - применяйте его.

В качестве иллюстрации приведу сравнение девяти алгоритмов сортировки:
https://youtu.be/ZZuD6iUe3Pc
И двух алгоритмов поиска пути
https://www.youtube.com/watch?v=g024lzsknDo
Ответ написан
Комментировать
lxsmkv
@lxsmkv
Test automation engineer
В первом случае вы как бы подглядываете в ответы, а во втором пытаетесь обдумать решение самостоятельно. Я думаю нужно мысле-мышцу тренировать, а не память. (Нет, помнить надо, но не конкретную реализацию, а что где то я это уже видел, слышал, т.е. хранить ссылки на знания)
Ответ написан
Комментировать
@ProFM
Конечно полезно, и забудь про "велосипеды и велосипедистов", кто про это говорит, сам не понимает ничего в этом. Хороший продукт тот, который созданный тобой, а не кем то
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
@InoMono
Полезно так как развивает мышление.
Но вредно так как у современного специалиста должен быть широкий кругозор по поиску и использованию чужих решений. Многие же предпочитают не заморачиваться в происке уже отлаженных другими людьми вещей, не напрягаться, а сделать на коленке гуано и пользоваться им.

В целом - велосипеды полезно для обучения.
Но не более.
Ответ написан
Комментировать
"Пародируя" чужой код вы напрочь убиваете свою смекалку, что заставляет мозг думать шаблонно. А это не есть хорошо.
Ответ написан
Комментировать
@dmitriyprog
И да, и нет. В конце концов, я уверен, что Вы не пытаетесь собрать самостоятельно компьютер, прежде чем писать программу
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы