anton_reut
@anton_reut
Начинающий веб-разработчик

Полезно ли долго (и вообще) «велосипедить» в программировании?

Почему-то при обучении программированию (веб в частности) советуют как можно быстрее сесть на какие-то фреймворки, библиотеки и прочее, хотя я замечаю что гораздо лучше всё усваиваю когда делаю всё с нуля, например авторизаци, загрузка данных, файлов, сессии-куки и всё прочее - то есть при изобретении своих «велосипедов» всё становится гораздо понятнее. А как высчитаете, лучше подольше «велосипедить» или сразу в бой?
  • Вопрос задан
  • 1563 просмотра
Решения вопроса 3
Moskus
@Moskus
Когда советуют, убедитесь, что у вас и у аудитории этого совета одна цель. Потому что "как можно скорее начать пользоваться фреймворками" - это если задача - как можно скорее начать шлёпать продукт и деньги получать. А если задача - научиться программировать, фреймворки тут не при чем.
Ответ написан
я замечаю что гораздо лучше всё усваиваю когда делаю всё с нуля

Поверьте - так у всех.

Но вы обратили внимание, что в школе вам рассказывали про опыты Галилея, а не дали два шарика и не сказали - разберитесь какой из них падает быстрее?

Представьте что вы велосипедите долго-долго и разобрались с авторизацией и загрузкой файлов вдоль и поперек, а потом все же сталкиваетесь с каким-нибудь фреймворком и смотрите, а там загрузка сделана так же как у вас и вы бы могли не тратить год, на то чтобы дойти до этого, а просто сразу посмотреть. Смотрите на авторизацию и думаете - "о, а чо так тоже можно было?"

Объем знаний слишком велик чтобы полсностью сгенерировать его самостоятельно. Best practice много и ко всем сразу сам не придешь. Чему-то учиться придется.
Поэтому наилучшая схема чуть-чуть повелосипедить. Изучить пару фреймворков. Попробовать опять повелосипедить. Изучить еще один, а там, может быть, присоединиться к разработке какого-то..
Ответ написан
ApeCoder
@ApeCoder
Закон дырявых абстракций

Из-за закона дырявых абстракций вот что получается: придумает кто-нибудь чудесный новый генератор кода, с которым у программиста работа наконец-то станет эффективной, а ему и говорят: «Сперва научись делать это руками, а потом уж пользуйся генератором, чтобы сэкономить время». Генераторы кода, абстрагирующие разработку кусков кода, так же дырявы, как и все прочие абстракции. А единственный компетентный способ залатать эти дыры — выучить, как работают абстракции, и какие подробности они скрывают. Итак, абстракции экономят наше рабочее время, но не экономят учебное время.

Отсюда парадоксальное следствие: в то время как инструментарий программиста забирается на всё более высокие уровни сложности со всё более развитыми абстракциями, стать высококвалифицированным программистом становится всё труднее.
Ответ написан
Пригласить эксперта
Ответы на вопрос 12
php666
@php666
PHP-макака
Индустрия сожрала сама себя и вогнала в коллапс.
Фреймворки, которые по идее должны давать некое облегчение, сейчас представляют собой монстроподобные механизмы.
Скоро в вакансиях будет не просто "программист ЯП", а "программист на ЯП на Фреймворк"
Всё к тому идёт.

Не путать это утверждение с библиотеками.
Ответ написан
sim3x
@sim3x
Полезно редко, но глубоко велосипедить (переписать фреймворк, апи, сортировку, драйвер,...)
Для себя
Ответ написан
@McBernar
Да, я тоже часто пишу велосипеды. Правда, сейчас уровень абстракции великов стал выше, но все равно.

Это хорошая практика, с опытом коммерческой разработки вы рано или поздно уйдете от этого, потому что важнее будет результат здесь и сейчас, но на первом этапе это отлично бустит понимание программирования в целом. Как минимум у вас не будет глупых вопросов на Тостере - "как добавить метод к классу в Ларавеле" или что-то в этом духе.
Ответ написан
Sanes
@Sanes
!
Если вам так удобней, то продолжайте. Некоторым проще идти в обратном направлении.
В любом случае от вас будут требовать результат.
Ответ написан
BojackHorseman
@BojackHorseman
...в творческом отпуске...
да что же такое. нету такого критерия как "лучше". есть критерий "выгодно". меряйте выгоду
Ответ написан
OnYourLips
@OnYourLips
Велосипеды позволяют комфортно учиться. Вы изучаете что-то медленно, есть солидный шанс полностью застрять в развитии. Но вы находитесь в зоне комфорта, все держите под контролем.

Использование чужого нормального кода позволяет эффективно учиться. Вы значительно быстрее приобретаете опыт, быстрее развиваетесь, раньше выходите на нормальную зарплату.

Велосипеды неэффективны, но комфортны. Если у вас нет задачи зарабатывать деньги и вы не видите удовольствия в саморазвитии - выбирайте велосипеды.
Ответ написан
Zoominger
@Zoominger Куратор тега IT-образование
System Engineer
Это нормально, когда будете работать над крупным проектом, поймёте Суть.
Фреймворки позволяют здорово экономить время.
Ответ написан
profesor08
@profesor08
Если способен написать, для примера, роутер для сайта, без гугления как такие вещи делаются, а взять, поставить себе задачу и решить ее, тогда, возможно, нужды велосипедить нет, разве что по фану. В противном случае надо как-то учиться всему, и набивать руку на велосипедах вполне себе нормально.
Ответ написан
alex-1917
@alex-1917
Если ответ помог, отметь решением
да,полезно.
небольшой лайф-хак от нашей команды:
spoiler
на два порядке продуктивнее не изучать кусками фреймворк, как тут некоторые насоветовали, а просто тупо погуглить
Ответ написан
solotony
@solotony
code for food, caviar preferably
Почему-то при обучении программированию (веб в частности) советуют как можно быстрее сесть на какие-то фреймворки,


плохой совет. при обучении программировнию надо обучаться программировать самому. поэтому

А как высчитаете, лучше подольше «велосипедить» или сразу в бой?


велосипедить. а вот "в бою" (то есть когда уже занимаешься заказной разработкой) уже вовсю применять фреймворки
Ответ написан
titov_andrei
@titov_andrei
All my life I learn - and die a fool!
Каждый раз представляйте себе, что вы находитесь на рабочем месте и в конце дня, недели, месяца вам нужно отчитаться перед начальством (или заказчиком) о том что сделано, чтобы получить оплату труда и перед своими коллегами по проекту, о том, что сделано для его продвижения.

Если после этого у вас остаётся время на велосипеды - то продолжайте педалировать с чистой совестью и высоким уровнем мотивации.
Ответ написан
@vladdimir
Верстальщик
Библиотеки и фреймворки не только экономят время. Выше уже писали о том, что они дают возможность мыслить на более высоком уровне абстракции. Хочу присоединится к этому мнению и добавить, что фреймворки и библиотеки разрабатывают обычно не на коленке, а на основе паттерном и хороших практик.
И чтобы использовать эти инструменты хорошо, все равно придется так или иначе с этими практиками и паттернами познакомиться. Чтобы понять, как правильно и эффективно пользоваться инструментом ранее незнакомым, нужно в какой-то мере выйти за рамки собственного привычного мышления, а значит вырасти качественно.
При велосипедировании, человек остается в рамках привычного мышления, он конечно учится новому, но это уже рост количественный. Больше знаний, но в рамках привычного опыта.

Нельзя сказать, что одно хорошо, а другое плохо. Можно сказать, что для прокачки навыков полезно делать и то и другое.
Ответ написан
Ваш ответ на вопрос

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

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