How to Learn a New Programming Language at an Accelerated Pace
By: Samuel Martins
Tags: Technology, Programming, Software Development, Programming Languages, Learning To Code

The trick is to understand the main concepts first, then learn as you go. That is the technique I want to discuss. As we all know, being a developer involves constantly learning and developing new skills. This is one of my favorite parts of this field because learning something new is always energizing, and it leads to personal growth. I am about to share some concrete steps that anyone can follow to learn a new programming language quickly. The goal of this process is to focus on time efficiency and your understanding, not your memorization of specific concepts or syntax.

The first thing I always do whenever I am learning a new programming language is finding out why that language is unique or different from the ones that I already know. Now, of course, this means you already have to know a programming language. You can still apply the formula as a newbie, but it would be better if you have a little bit of knowledge about programming fundamentals. I go through this step because I want to very clearly, in the beginning, understand what I actually need to learn. I want to know what the core differences are. I want to understand why I would use something like JavaScript and not Python. Is this a typed language? Is it dynamic? It is advisable to start with all of these basic things to have an idea of what you are getting yourself into and what you are about to learn.

The next thing is to go to official documentation, some really extensive tutorial, or a guide. Quickly skim through the table of contents to see if there’s anything you have not seen or heard of. Say you are looking to get into python from another language. Something that might stand out would be like list comprehensions, or the fact that you can define a function inside of another function. Note down everything you do not yet know or have never seen before. Those are going to be the things that you will need to focus on or spend more time on as you learn.

The next thing is to find some course, some tutorial, something that can give you a general overview of the programming language. This might be a YouTube video, a nice article, or maybe an interactive tutorial. Spend about an hour or so just going through following along and trying to get a sense of what this language is like and a general introduction.

As soon as you are done with the first three steps, get your hands dirty right away. Fire up LeetCode, or AlgoExpert, or someplace that you can practice easy programming problems. This is important because you will take anything you know about this language and just start trying it out. Test yourself to see how you can actually use the different features the language offers. The main advantage of doing this is that it immediately points out what you do not yet understand. You can then note them down, do more research, and practice until you get it right. Look up those specific things, figure them out, and then go back to the programming problems and practice them. This is the loop that you will have to through until you get somewhat comfortable with the language.

Once you are comfortable with the new language, challenge yourself by writing a program. It does not have to be big. Build something small that may take like an hour and a half or two hours. I know this seems overwhelming, but that is always the case with learning anything new. Just pace yourself, and you will be okay. This is great because you are going to learn an enormous amount when you are in this project, and if you already have a basic understanding, you should be able to get enough done. Make sure you do not do this just once. Remain consistent in practicing using that language. Coding is like a muscle. The more you code, the better you get. I know it is going to feel like you do not have sick gains to do bicep curls with the big boys, but you will get there. From there, you should be ready to pick up more advanced concepts.

To summarize;

Understand the fundamental differences between this language and some language that you already know, figure out the basic features of this language.

Find some resources, some official documentation, or some large guide that can give you a summary or table of contents of all of the different features. Again, the point of this is to go through that table of contents and find all of the things that you have never seen or heard before.

Find some resources that can give you a quick and good overview of the language. Go on YouTube, find some hour-long course, find a crash course, a speed course, to get a good understanding and kind of grasp of what this language looks like.

Immediately get onto LeetCode, AlgoExpert, or some website that you can practice programming problems on, and start doing easy or medium programming problems, whatever your current skill level is on those websites or whatever you think you can do. This will immediately expose to you the gaps in your knowledge and the things that you do not understand.

Go through your list of the things you do not know yet, and start learning those specific things. This should be easy because they should be small bits.

Once you feel somewhat comfortable with the language, you have got some practice in, and you feel like you could maybe write a program, then you go ahead and jump into making your first programming project in this language.

Learn about more complex concepts.

Now, of course, this is the basics. This gets you up and running nice and quick. It is not going to teach you every single advanced feature in the language, but this is what I do whether I am learning a new concept or a programming language fast and fairly effectively.