Best way to learn a new computer programming language?

Hi everyone! I have just started to get into coding and I just want to make sure that I am getting the best out of Codecademy pro. I tried a summer program for coders and was just overwhelmed by how many years of experience others had and the fact that the girl to boy ratio was 2:12. So what is the best way to go about learning a new coding language?
Taking extensive notes to refer back to, just completing the lessons, or trying to memorize everything? What are some tips that came in handy for you guys?

I know this is going to sound cliche, but honestly, practise practise practise! I find that completing the full course, and then doing all the projects helps me more by just adapting to the language naturally, so it becomes more muscle memory than actual memory. I’ve completed a couple of the courses twice or three times if I need a refresher, and you can always go back to any lesson and reset it and figure it out again (I’ve done this several times with JS iterators, can struggle with those a lot).

Also worth doing is trying to come up with your own projects. It doesn’t need to be super original, but just getting the practise of planning out

  1. What you want to do
  2. How you want to do it
  3. How each part should work

and then implementing it can be great. For example I decided I wanted to make a “cheat sheet” for this game, Keep Talking and Nobody Explodes, where you can enter the parts of the bomb and it will give you the solutions. So planning out the presentation (the HTML and CSS) was one part, and then figuring out the best way to implement each of the puzzles into the website was helping me with my JS skills.

I’d say the main thing that helped me though, and this may be different for you, was actually doing many multiple languages. When you cover the basics of a variety of languages, you start to notice lots of similarities in how they’re structured, what keywords do, how loops work etc, and it can make learning a new one much easier. If you’ve written a for loop in C++ you can probably pick up for loop's better in C# and R, and then all this prepares you nicely for for loop's in JS too. Each time you start a new language you notice more similarities, and begin to become way more proficient (as long as you remember the slight differences, C++ requires you to end each line on a ;, JS and R do not).

I think the main thing is planning your own projects in languages you do know as this is a skill that will be useful in every single programming language, and can affirm your knowledge. However Google (or DuckDuckGo) is your best friend, and don’t be afraid to constantly look stuff up. Half of programming is getting really good at using search engines. I’ve found using R in my work that nearly everything has been done before, just in small modules, so you still need to understand the code well enough to be able to merge various different sections into one big program that does what you want.

Hopefully this helps you, and good luck with your learning.

5 Likes

There’s no way you can memorize everything. That’s a lot of pressure! :slight_smile:
Get comfortable being uncomfortable. Accept the fact that you will never know everything (no one does! [even if they don’t admit it]).

I once said to a friend, ‘I feel like a beginner.’ He then reminded me that one of my favorite jazz pianists, Harold Mabern, once said, ‘I’m a student too! I just have a few more years of practice.’ Knowing that he said that made me feel better. We are always learning.

For me, I take detailed notes and refer back to them when I need to. I also open up a Colab notebook and write out examples of functions, lists, etc (whatever I’m learning on the DS path). I also find data sets that interest me and I do EDA, create visualizations, etc. I second what @adamgaffney137183916 said: come up with your own projects. That’s exactly how you can solidify concepts. Repetition is key to learning. :slight_smile:

2 Likes

Oh okay, that makes sense. Thank you @adamgaffney137183916 and @lisalisaj!

1 Like