How to Learn NEW Coding Languages FAST
Learning a new programming language when you already know another one or understand the concepts can be a very easy task but it can also be a scary one if you don’t know how to approach it. In this blog, I will walk you through what I do to learn and hop straight into programming with a new language.
If you are not comfortable with any coding language and you don’t have a good grasp of programming concepts, this blog is not best suited for you but I still recommend following these steps after learning the basics and familiarizing yourself with the main programming concepts.
Phase 1 can be annoying but it is really worth it! All you have to do is
Read the documentation!
It is important to read the documentation because it contains important information about how this language works which may be different from other languages. This can highlight key differences in writing code but the good thing is that you should feel right at home since all the concepts and methods are the same, for the most part, just written in a different way.
Also, another very important thing is best practices. Whether that means that you'll understand code written by others better, them understanding your code better, or even as simple as it shielding you from bugs or not being able to scale it, it is important to know and follow best practices for each language, which is mostly listed in the documentation.
Make a cheat sheet!
I know you can look one up but making your own custom one really helps you in the long run as it is something that you made and organized. You can also find gaps and stuff you don’t know that you can look up in the documentation and write that down in a way you will understand.
Another advantage is that you can add notes, for example, someone going from C++ to Java might want to mark down that System.out.println is the same System.out.print but adds a new line at the end, similarly to how in C++ you add endl to leave a line at the end of your cout.
This is a simple example that anyone can understand and may not seem necessary but when you're dealing with more complicated things like built-in methods that may be using a different word and are written in a different way with slightly different parameters, it might just be easier to explain it using the equivalent from a language you are comfortable with.
Lastly, a cheat sheet is important because no one can remember all the syntax from all the languages, especially if you use multiple at the same time or constantly cycle through them, like most programmers. Whenever you forget how to do something, which you will A LOT, you can just refer back to the cheat sheet and if you made your own you'll know EXACTLY where it is and why you wrote it that way.
This is by far the single best way to learn a new language, beginner or not, and in my opinion, is the only way to truly learn a language.
What I did instead was exactly what I wrote in this blog and jumped into a project. It doesn’t matter if you fail or it doesn’t come out the way you wanted it to, or it took you 3 weeks instead of 3 hours. All that matters is that you jumped into a project and started learning the real way.
This is not a new concept, in fact when learning spoken languages (example Spanish, Greek, Japanese…) the number one way to learn and become fluent is to talk to people and try to have a conversation even if you only know 50 phrases.
So when it comes down to it, the important step is this one, and phases 1,2&4 will accelerate your learning GREATLY!
This one is a bonus step but can REALLY accelerate your learning and I have seen major improvements when I did this myself.
Working with other developers!
Working with others on a project, even if it's only one other person, can be really really helpful. You will fill each other's gaps, give each other ideas, and can help us realize things we just aren’t seeing. We all know that time when you are starring at a piece of code and it just makes 0 sense or it looks perfect but breaks and oftentimes it is something small like a misplaced bracket or a wrong keyword. Instead of spending hours and posting your code everywhere on the internet, this can often be solved by a second pair of eyes.
Motivation to continue the project and actually sitting down to code is also a big advantage of working with someone, and as a professional procrastinator myself, I can confidently say that even having someone else involved in your project makes it a hundred times easier to sit down and put in the work.
I hear you, not everyone has a partner. So what now?
Finding a Partner
We are programmers and we use technology to solve issues, so use it to find a buddy! There are so many ways to find a partner that will be ready to hop into a project with you.
Yes it is intimidating but you’ll be meeting new people and learning about their stories as well as getting all the above benefits and more, so I highly encourage everyone to give it a try at least once. How do you find a partner?
There are hundreds, if not thousands of discord groups filled with programmers, many of which are always looking to start a new project! Hop in and take your pick, dm them, friend them or just make an announcement that you’re looking for partners.
Events are also a great thing, and whether it is online events or in person, it is a great way to meet people and get a team of PRO HACKERS!!! Entering competitions is also an amazing way to find people always ready to code and start new things with people. Hackathons are a great example and packed to the top with the people you're looking for.
Now you know the way to learn a new language and have a bunch of guidelines and tips to accelerate your learning to the max! As with everything in the programming world, it takes effort and focus to learn and stay on track, but it is something anyone can do and there really is no excuse for failing, I gave you the answers so start learning! Happy coding!