I'm teaching myself computer programming... vb, php, java, c#, c++, python, assembly, etc. the works, at the same time.
The best way to learn:
1. coding
2. studying other peoples code
3. reading
Books can only teach you so much. Untill you involve all your senses, such as brain in abstract and inovative thinking and your keyboard in terms of actual coding, it wall suck.
Reading is low brain function IMO.
There is very few concepts that encompass programming. You have OOP (the paradigm for now), variables, arrays, loops, etc. All are done in one language just different code to tell the computer to do it. You will recognize the similarites the further down the hole you go.... you'll say, "ah, ha" when you realize a 'jmp' instruction in asm is simply one part of a loop in c++.
Not hard, just takes time.