The very, best way to learn something is practice and repetition. To apply this to programming, the only way you are really improving is through the program you are programming.
I would recommend doing this: think about what you would like to have in the program, something simple. Learn which language would be a good way to make such a program - such sites are a great resource. Go to the Amazon and buy the highest "enter" rating for this language and work through it - ALL WAY is through it, do each example.
Then, when you finish the book, start working on your own idea. Again, do something simple enough to be realistic, something that you can actually finish, and know that you are moving forward, but make sure you like it and you will be happy when you are done.
I had a blog before I found out about any programming. For me, the first thing I wanted to know how to do was add a section with an expanded image to my WordPress site. Finding out how to do this was difficult for me at the time, but I was able to figure it out, and I was really pleased with the result. After that, I came back and developed a WordPress template from scratch. The first time I did this, it took me a month. Since then, I have developed dozens, and now I can often create them in just one or two days.
The most important thing is not what program you create, but just stick to programming and practice. First you copy a lot of code that doesn't make sense, but the more you do it, the more you will have these great βAha!β the moment when you suddenly realize how everything works.
This is a journey, not a destination, so just move and don't leave :)
Andrew
source share