I tried some books. It takes a lot of time and very poor skill improvement. What really made my skills were source codes which I observed on GitHub. After you got deep into the code, you are not just meet the language concepts, as you could accomplish with your books. But you see the real usage for these concepts, learn best practices.
My way of learning a specific programming language is as follows:
1. Find a full tutorial on the language.
2. Skip the very basics because they are fundamental for every language.
3. Follow the videos coding along so that I will get used to the syntax.
4. Make my own projects to train better. If I don't know how to do something, I always surf in the documentation, as well as find similar examples.
Usually step 4 takes most of the time. Please know that it is not possible to remember all the built-in functions of the language. It is safer to just go and search for what you need when you need it. If you want to try your brain, you can always try those cheat sheets that circle the computing news every now then.
I prefer the video tutorials rather than reading a book. Books are great I love them but when it comes to coding you consume double the time trying to understand the theory behind it all. A person can describe a functionality or a theory in a couple of minutes and you have audio, visual and written format to process. Much faster and efficient!!
Where I come from I was told If you want to learn swimming we will throw you in a lake. I kinda found that weird but this is really effective as you will be fighting to not drown. You do the same thing with programming, just start thinking of applications and make them.
I disagree. When you want to learn to swim you have a picture in the head of swimming and how you will be swimming. You see others do it and follow the lead. With programming same thing. You need to have a picture in your head of what you are going to program and what you would like the outcome to be. This is how I learned everything to do with building Websites and managing a VPS. I started with a picture in my head and an objective of where I want to be. And then for the greater part I Googled for solutions or joined discussion Forums.
I would go with udemy or Youtube,follow along and after that try to replicate it by yourself,and then over time it will become easier and you will get use to it,and after a while boom you will be able to do it by yourself,dont make it hard,do it in your free time,like a hobby,not a job.
I learned python in 2 months,om not a good at it,but i know basics and i can write smth by myself,every day i took like 10 minutes at the end of the day,i opened yt and followed along with tutorials.Its easy if you have motivation,dont give up