One of my friends (who studied philosophy) and I had a discussion the other day about differences between natural and programming languages. I made a point that my knowledge of Russian in no way helps me speak better English (we both agreed on that), while a C programmer who also knows a language that relies on a different programming paradigm, for example, Lisp or Prolog, is likely to be a more effective C programme…
What is hard about programming has very little to do with learning a programming language and everything to do with more abstract concepts and ways of structuring solutions. The equivalent of CS concepts like object orientation or functional programming would be types of writing such as essays, or newspaper articles. Even though I can't write Russian, I still know how I'd structure an essay written in Russian. Even though I've never used Ruby, I have a fairly good idea of how I'd tackle any particular category of problem using Ruby.
The difference is that the vocabulary required for writing Russian is vastly larger than the equivalent vocabulary in Ruby.