Learn algorithm, get better in every language. And programming is not really about knowing the language or w/e, its just about reflexion. Getting in the code right after u got an exercise subject is wrong. You should get a paper, a pen, your brain, and reflexion. THen you code. Learning things by heart is the worst thing, do a lot of exercises, learn to think as a machine, and you will get better.
But algorithms man, its the key. Look at the Robert Sedgewick course and lectures on the MIT site and buy the Cormen Algorithm book, it worth his price.
And practice, practice, practice ... Dont go further if your are not cool with the basics like data structures etc ..
A language, oo or not, is just about syntax. Of course you cannot do the same thing in C as easier as in Java, but its syntax matter, and its pretty easy to learn, its maybe 5 or 10% of the job.
This post was edited by Bremen on Feb 22 2015 04:16am