Learning a language is an essential step
The first stage if-else, for / while-loop, function
second stage
Error handling
Memory Management
Extended data encapsulation and
Polymorphism and generics
And reflection recognition runtime
Concurrent Programming