Quoting myself to tired to write it all again....
Copy and paste because I was not able to quote...
I would suggest to learn the basics without any language specific syntax.
- learn data structures and navigation in it: bag, sack, array, list, sorted list, map, dic, hashed map
- learn algorithms like sorting under concern of performance (bubble sort, quicksort, sorting by using balanced tree structures). Classical CRUD operations. Data Access Concepts, recursion
- learn patterns like decorator, factories, ...
If you understand these concepts and a few standard statements (if, while, for, case, method, class,...) you should easily learn and adapt any language with an good or even excellent level.
Developing is Like using any other spoken language (English, French, German). Even if you know the grammar and the vocabulary not everyone is able to say a smart sentence...