Как вы учите программирование / новые вещи?
=============================================

 Привет, уже некоторое время учу фронт-энд разработку, даже есть кое-какие успехи, но меня часто кидает в ступор и прокрастинацию тот момент, что я не знаю как мне учить новые вещи?  

Есть ли у вас какой-то универсальный подход к изучению нового материала и главное к его **Пониманию**?   
  

Некоторые люди советуют писать как можно больше кода(т.е. повторение мать учения), некоторые писать псевдокод и рисовать блок схемы и тд. Как вы учите и какой совет могли бы мне дать? Буду крайне признателен 

 Изучай теорию, потом применяй полученные знания на практике. Так ты поймешь какие есть пробелы, где нужно подучить ЯП, апи фреймворка или библиотеки или какую-то концептуальную штуку(допустим, асинхронное программирование). Пока ты читаешь, смотришь - одним словом, пассивно воспринимаешь информацию, очень сложно ответить даже самому себе, насколько ты хорошо разбираешься в топике. но без теоретического этапа никуда, главное не затягивать с ним. Соответственно изучение программирование можно разделить на две части, с теорией, думаю, все понятно, здесь ты знакомишься с инструментами(в первую очередь это ЯПы и разные оболочки поверх них в виде фреймворков, плюс какой-то принятый воркфлоу), практику я бы разделил, условно, на 2 части - процесс создания алгоритма, набора инструкций для решения стоящей перед тобой задачи с помощью имеющихся инструментов(непосредственно само программирование), желательно, чтобы в процессе этих мучений рождался не говнокод. Отдельно можно выделить умение дебажить/гуглить на стак оверфлоу. Очень полезный скилл :D 

 Всё просто - я считаю прокрастинацию ленью и не позволяю себе ею оправдываться. 

 Пробовали читать книги? Всегда работает 

 Если под "новыми вещами" вы подразумеваете новые языки, то тут ничего сложного нет, ведь в каждом языке есть массивы, переменные, типы данных и т.д...и отличаются они, в основном, синтаксисом. 

 Читаю разные статьи. С разных сторон описывающие.  

Начитавшись, начинаю пробовать применять. 

**Всё просто:**  

1. Ставите любую задачу по созданию какого-то функционала.  

2. Ставите ограничение себе: использование кода СТРОГО только один раз на протяжении всего проекта.  

3. Функции и методы - должны быть новыми и поддерживаться всеми мажорными браузерами актуальных версий.  

4. Начинаете кодить.   

5. Не получается использовать код один раз - начинаете разбираться с помощью ОФИЦИАЛЬНОЙ документации и правильному применению новых функций и методов, касательно вашей текущей решаемой задачи при кодировании.