(Often people in the forum ask how to start learning java, or whether to learn java or XX language. I have always felt that programming has little to do with language, and the point is to have a problem-solving idea. Learning a language originally only seeks how to implement programming ideas. When learning software development, it may still be better to start with principles. Many people like examples, but I think the information that examples can provide, although intuitive, is very limited.
Ten years summary, a JAVA person's ten-year life road.pdf)