learnsteps.com
Don't marry a programming language. - Learn Steps
Learning a programming language is like reading a book and not doing practical. While learning architectures will be a practical which you can perform with different books.