Learning a new programming language is like learning a new language like English, German or Spanish. You have to practice it. You are never finished. But you are able to communicate and express yourself to others.
Let's see which approaches you can take to learn a new programming language and which ones i really like.
For most of us the first thing to check. Some languages really have great documentation. For example, the Typescript docs are really nice, handy, and on point.
I think we all did that at least once. You are thrilled to learn a new language or a new framework and 10 seconds later you are on Udemy (or any other course site) and search for the highest-rated course for it. 1 year later. Your Udemy site looks like a freaking graveyard for courses half of them half-finished and some are not even touched.
I really like courses but the problem with them is that they often are really long. I mean this is good because this means they cover all important topics but in a world of changes and social media we are programmed to look for other courses/languages and ways to learn something really quick. Our attention span is as short as it can be. Also, it highly depends on the teacher of the course. I really enjoy courses from ZTM. Andrei is a super great teacher!
YouTube Videos are omnipresent. And they are super for learning a specific topic. I dont use it to learn a new language. I use it more for things like "How to implement authentication is Flutter" etc. So more specific things and features. Videos are great as references or to get a crash course for a specific language or framework. For that specific case, i can recommend Brad. To get a quick overview of something this is my first contact point.
Solve logic puzzles
This is one of the best ways to learn a new programming language! Out there you can choose between multiple sites to solve logic puzzles with different programming languages like Hackerrand, Codewars, Leetcode, etc.
And why it's so good? Because you actually have to practice it, google things, go to the documentation, and see how to implement loops, data structures, etc. in this specific language. Simultaneously you learn the new language while also learning to solve logic puzzles. This is highly effective!
Practice, practice, and.. practice! Don't fall into the trap called tutorial hell and just watch videos and tutorials. If you want to learn a new programming language you actually need to practice it and build stuff with it. You need to fail and to understand WHY you failed and WHY this error appears. And then you solve it. Solving logic puzzles for getting your hands dirty and learn the basics and then pick a project you like and build something with it. That's the way I prefer! And use the courses and videos more for references.
Learning a new programming language is exciting and one of the best things in the world of programming in my opinion! I hope you find this helpful for your journey and if i missed something or you want to share other ways to learn a new language please feel free to drop it into the comments!
Stay connected to me and my content on Twitter.
I love to improve myself every single day even if it's just a tiny bit!
Stay safe and healthy guys!
And as always: develop yourself!