“I could teach you to speak my language, Rosetta Stone”-Aubrey “Drake” Graham

Learning to Code vs Learning a Language

Amar Singh
3 min readJan 28, 2016

Most people associate programming solely with mathematical talents, but MRIs of people learning to code have shown that similarities in brain activity to people learning a foreign language.

Learning to code was a challenging and rewarding experience. I distinctly remember in the first few weeks feeling like a toddler. I knew what I wanted to communicate, but I was frustrated without the ability to articulate my needs. I’ve learned more every week and am starting to feel more confident in my communication through code.

Vocabulary

The first epoch in learning to code is understanding the basic lexicon and syntax. People often suggest picking a project as a way to code. It’s definitely more motivating, but also incredibly frustrating if there are basic tools you are ignorant of and are unsure of getting started. Learning the basic vocabulary — variables, loops, scope, methods, classes is paramount to build anything more than a hacked-up prototype.

These are your building blocks. It’s the equivalent of learning basic words and phrases in your native language. While every programming language has its idiosyncrasies, they all share the need to create and manipulate state and behavior. Once you understand how a language does that, you learn it’s basic vocabulary.

Sentences & Conversation

The second epoch builds upon the first. Once you understand the basic foundations of a language, it becomes much easier to communicate. You can string together methods and classes to make more complex programs. You have the ability to bring in outside influences and tools to your workflow.

You can use databases and APIs provided they have an interface to the language you know. Sometimes there are foreign sentences, but you’re able to understand them by seeing them in the context of the language you know.

You’re able to communicate tone and purpose and start to see the difference between good and bad diction.

Obligatory asymmetrical Sublime Text photo

Learning the Idioms, Accent and Dialect

The third and final epoch is related to mastery. This is where you become a fluent speaker of a language.

You know the ins and outs of popular frameworks. You can intelligently evaluate the trade offs of alternative approaches. The language becomes second nature and you’re able to bend and manipulate it to your will. You can write very efficient and transparent code in this language and know the optimal design patterns.

Once you’ve learned one foreign language, it is easier to pick up others. This is the same in programming. Once you’re able to understand the fundamentals of one language, you can use it as a reference to pick up other languages quickly.

Go forth and learn to speak!

--

--