Без практики ничего не изучите. Ставьте себе реальные задачи и пытайтесь их сделать. Всё. Всё остальное приложится со временем.
Программирование - достаточно широкое понятие. Ваша позиция не сильно отличается от позиции "хочу понять физику". Что конкретно Вы хотите понять? Термодинамику, квантовую физику, или общую методику постановки экспериментов?
Так и здесь. Вам нужно определиться чем бы Вы хотели заниматься как программист. Возможно, написать игру? Возможно, программировать микроконтроллеры? Или высоконагруженные системы на серверах? Или...?
Когда ответите для себя на этот вопрос, хотя бы примерно, сразу же появится набор языков которые можно изучать, чтобы применять в этой области.
Дальше - ставите себе задачу: реализовать такой-то проект в этой сфере с таким то функционалом. И начинаете делать, попутно узнавая у Google и в рекомендованных книгах как это делать и как это сделать лучше. Главное - дожать свой мелкий проект до конца. Во время реализации Вы как минимум изучите все базовые знания в выбранной области.
Сделали - хорошо. Смотрим где у нас пробелы, чего недопонимаем, и исходя из этой информации ставим себе следующее задание, более сложное. И опять - дожать до конца.
И так ступенька за ступенькой Вы освоите всё что пожелаете. И ни в коем случае не надо бояться, не маленькие же в самом деле. В голове ничего не перемешается, если Вы сядете и добросовестно всё для себя систематизируете, изучите и разложите по полочкам, и главное - попытаетесь применить.
Также, помимо выбранной области, есть общие знания, которыми желательно владеть каждому программисту. Они относятся к алгоритмике, структурам данных, проектированию ПО, написанию вменяемого кода и другим аспектам. Потому параллельно всегда нужно повышать свой общеобразовательный уровень за чтением книг об высоких материях и абстрактных вещах (а потом пытаться их применять на практике).
Все эти книги легко гугляться и можно найти в предыдущих ответах на данном ресурсе (Совершенный код, книга банды четырех и другие...).
Дополнительно рекомендуется читать блоги/статьи умных людей. Это всё тоже гуглится в зависимости от интересов.
Ну и практические примеры кода всегда можно черпать из открытых исходников различных проектов, github Вам в помощь.
Главное - постоянно что-то программировать (чтобы закреплять новые знания), не бояться экспериментировать, никогда не останавливаться в развитии и двигаться вперед.