Merl's Blog

Learning Languages

This will be short, I had a funny thought today. ‘Programming language’ is a perfect analogy for how to communicate with computers or other programmers.

If you have learned a new spoken language I am sure you can relate to learning a new programming language.

A few years ago I had the privilege to spend some months in Brazil. I was trying very hard to learn Portuguese, in about 3 weeks I was mixing Portuguese with Spanish and able to communicate slowly but effectively.

It got to the point where I could have everyday conversations very easily. Asking about where people were from, ordering food, making silly jokes. Things were going well, that is until you are in a group of native speakers.

When you are speaking one on one, the native speaker is able to match your simple words and communicate well. When native speakers are together they speak faster, use colloquialisms, speak cultural references so it is easy to be lost in their conversation. I was in my late 20s and I felt like a child again confused as to what the adults were talking about.

In a way this is true learning programming languages. Solving a problem you use simple but possibly more words or operations to get the same point across. I wrote some code that worked but when I received a little bit of help we were able to clean up the code into a much nicer, readable, and cleaner format.

The functionality was the same but the code was much better. Like learning spoken languages it may take a learner 8 simple words to get a point across, where those with more fluency it might take 3 words.

The only way to resolve this issue is to practice more and more, make more grammar errors till fluency naturally becomes the norm.

Best,

Merl