Как учить JavaScript

«Javascript is to programming what jazz is to music.»

Markus Persson
 

Эта статья о том как я изучал/продолжаю изучать замечательный язык JavaScript. Думаю объяснять для чего учить JavaScript нет необходимости, достаточно прочитать статью «Актуальные технологии и тренды в веб-разработке».

Начал с курса по JavaScript на codecademy.com, прошел примерно половину, параллельно начал изучать основы на learn.javascript.ru, удобнее купить книгу в epub/pdf learn.javascript.ru/ebook.

После этого начал читать книгу «Выразительный Javascript» автор: Marijn Haverbeke (karmazzin.gitbooks.io) (upd: прочитал 7 разделов из 22).

Потом переключился с codecademy.com на отличный сервис для изучения freecodecamp.com, прошел разделы: «Basic JavaScript», «Object Oriented and Functional Programming», начал проходить «Basic Algorithm Scripting» (upd: прошёл 3 из 7).

Начинал читать «JavaScript. Подробное руководство» автор: Дэвид Флэнаган (ozon.ru), понял, что на данном этапе для меня это скорее справочник, решил искать дальше. Наткнулся на курс по JavaScript на hexlet.io все объясняется очень доходчиво, курс опирается на книгу «JavaScript. Сильные стороны» автор: Дуглас Крокфорд (ozon.ru) и на его лекции, хорошо после просмотра курса прочитать эту книгу (upd: прочитал 43 страницы из 173).

Сейчас есть идея пройти курс «JavaScript/DOM/интерфейсы» у Ильи Кантора (learn.javascript.ru/courses).

UPD: Пообщавшись с разработчиками, выяснил, что самое главное в изучении это практика, а книги можно изучать параллельно и накладывать теорию на реальные знания, не обязательно вливаться в существующий проект, можно начать свой, чем я собственно и займусь.

Множество полезных ресурсов можно почерпнуть из первой записи блога «Как стать классным фронтенд-разработчиком» (kirillzharov.ru/how_to_become_cool_front-end_developer), подборка курсов, книг для изучения, статей, видео по JavaScript по ссылке kirillzharov.ru/frontend.
 

Статья основана лично на моём опыте изучения JavaScript и не претендует на единственный оптимальный вариант, она будет пополняться в процессе изучения.
 

Буду рад, если в комментариях поделитесь своим опытом изучения JavaScript и поделитесь полезными ссылками!