Для начала Вам нужно определиться на каком этапе у вас сейчас все находится.
1 - Определиться с языком для изучения, советую вас c# или java
2 - понять примитивы программирования на языках высокого уровня(переменные, присвоение, условия, массивы, циклы). Понять как это работает и зачем это вообще.
3 - Придумать себе задачу, пытаться ее реализовать. Если что то не получается пытаться решить самостоятельно, если не получилось исправить, можно спросить тут, на форумах или гуглить. На этом этапе лучше реализовывать консольные программы. Это вам позволит набрать базовый опыт в программировании вообще. Если будите владеть 3-мя пунктами, то будет легко перебраться на другой язык. Вам будет достаточно изучить синтаксис, основы в основном всегда одинаковые. Не нужно углубляться в тупое чтение книг и т.п. Вся фишка в реализации задач и исправлении ошибок. Пишите всегда код сами. Пишите 10 раз одно и тоже.
Ну если вы владеете первыми тремя пунктами...
4 - Пытайтесь усложнять свои задачи, смотрите и разбирайте чужие примеры. Смотрите чужие идеи, пытайтесь их реализовать сами, будет отлично, если при просмотре чужой программы у вас появляются идеи как реализовать лучше.
5 - Продолжайте набираться опыта, читайте различные новости, посты, форумы. Так вы будите в курсе развития технологий, так вы сможете писать программы с использованием современных технологий.
Удачи в изучении!)