Programming is something that you learn by doing. Don't just sit back and read a textbook about programming, do it! The best advice I can give is to come up with an idea for a project and then to actually implement it.
When I first started programming, I wanted to make an arcade-style video game. I implemented it in Python with the Pygame library. Later, when I joined my robotics team, I learned Java so I could program the robots. I made a calculator GUI as my intro to Java project. I'm currently learning to program in c, so, as suggested earlier in this thread, I started working on
Project Euler. These problems are getting very hard to solve, and in particular coding the solutions in c makes them even harder at times.
You didn't really mention how much programming experience you have, but I think it may be better to get really good at one specific (c-lineage) language at first. Most programming languages are more or less the same, especially between c/c++, objective-c, java, and c#.
At some point in the future I really want to get into functional programming (like scheme/lisp, haskell, etc.).