I think it's wrong to think of "learning how to program" as "learning a specific programming language." This is difficult to see as a beginner, if not impossible.
IMO it's better to think of each particular programming language as a stage and your goal is to practice acting.
Learning multiple programming languages at once is more like trying to learn Spanish and Portuguese simultaneously. It's not impossible, but you'll find yourself doing "double duty" because your brain has yet to develop clear lines between the two languages.
I've directly taught hundreds of people how to code and have seen this first hand. Take a beginning programmer who knows a little Python (or Java or C or anything), teach them some basic Ruby syntax, and ask them to write a Ruby program, they'll write in a creole of Ruby/Python, Ruby/Java, Ruby/C, etc. (cf. http://en.wikipedia.org/wiki/Creole_language)
I'm not kidding. You'll see things like this from C or Java programmers
def Fixnum add(Fixnum x, Fixnum y)
return x + y
end
It's remarkably consistent and they never once saw an example of code that looked like that. They mashed together ideas from Ruby and C and honest-to-goodness expected it to work.
Untangling those false connections just adds overhead to the learning process and (IMO) are best avoided until you have a clearer mental distinction between programming _per se_ and programming in a specific language.