From Regular Show episode ‘More Smarter’

How to pick up a new coding language

Laura Chan
3 min readMar 8, 2018

As part of the Makers Academy course, after a few weeks of delving into Ruby front-end and back-end frameworks, we shifted gears to JavaScript.

As if the table cloth had been ripped out from underneath in one clean motion, the language felt unsettling at first. With its seemingly excessive amount of semicolons and brackets (and I mean all the brackets — squared [], curly {} and round ()), JavaScript presented many unexpected twists and turns.

But, if the table cloth-ripper is skilled enough, soon we — the cups and plates — stop tilting about and settle on the surface of the table. The table in this metaphor being the fact that, like Ruby, JavaScript is a programming language, built by programmers for other programmers (or at least, if the language becomes popular enough, programmers tend to build it up with the tools to make it clearer). Ok — they have their clear differences, e.g. prototyping, threading etc. But so long as you put on a growth mindset and put the effort in to understand how the logic works, how different t objects and functions work together, then I have confidence in you (inclusive of me speaking to myself in second person) to pick up any language you want.

I think back to the past couple of weeks feeling baffled by the speed we managed to pick up JavaScript. However, I want to note down the following tips, for my future self, who will no doubt be picking up new languages as needs and interests develop, and for others who find themselves in the same situation.

Throw away your assumptions

When approaching a new language, you often make a lot of suppositions. It’s difficult not to do this because we exist and learn things in contexts — meaning, we bring to our new experiences everything that we have experienced before. My experience with Ruby would influence the way I learn JavaScript.

When you make a statement to your pair partner or to yourself, ask yourself whether it is backed up by the code or by the documentation. If not, it’s likely that your statement is only an assumption.

Read the docs carefully and use the communities as guides — not hand-holders

We’re lucky that popular languages which are worth learning have a plethora of resources available online. So much so that I often find myself just skimming the material rather than properly digesting it. What’s more, when you want to do something complex, you can often find walkthroughs and step-by-step guides which hold your hand through the hard stuff.

However, learning in this way is in not rewarding. I’m not going to be able to teach someone else about it or explain how the code works. Furthermore, my assumptions from before will only keep creeping in if I don’t read the documentation carefully.

Here I often find it helpful to play around with new learnings in a REPL — making sure I know what the return values are and how particular functions/methods are working.

Use your tools

I’ve warned that previous experience can bring faulty assumptions to new languages. However, this does not mean that you cannot use the learning tools picked up from previous languages. Tools such as following the flow — i.e. following each variable and noting where it is being defined and manipulated, or using Ruby’s p and JavaScript’s console.log() — are equally as valuable in any new language.

--

--