Учиться всегда лучше на практике. К программированию это относится на все 100%. Есть отличный сервис Codewars, с задачами по программированию на куче разных языков: от древних Кобола с Фортраном до более молодых Go и Crystal. В качестве мотивации выступает рейтинг, обзываемый тут честью (Honor), решая более сложные задачи (kata), получаем больше опыта и качаемся. Может, даже в рейтинг попадаем :) Простые kata обычно относятся к основным функциям языка и общепринятым вещам вроде форматирования строк и арифметических действий...
Этот FAQ посвящен легкому вхождению во фронтенд-разработку — создание веб-приложений на HTML, CSS и JavaScript. Сейчас эта область на этапе взрывного роста: современные браузеры позволяют создавать очень сложные и функциональные сайты-приложения, такие как Google Docs, Gmail, VK и Facebook. Разработка таких приложений состоит из двух частей: Соотношение частей растет в пользу второй по мере увеличения сложности проекта — на обычном лендинге может быть много верстки и лишь пара скриптов, которые меняют картинки в слайдере, а код большой энтерпрайз-CRM практически полностью состоит из JS...