Quick Rant: Coding and English

A general tip to anyone who is learning to code. If your English is not that strong, use a dictionary. A lot of terminology in programming are common English words that have meanings outside the context of programming. They may have multiple definitions, but they generally point to a common idea. It is very helpful to understand that idea before you associate the programming related meaning to the word. It contributes to the intuition as well.


Consider the following words and their dictionary definitions.

  • iterate : to do something again and again
  • exception : a case to which a rule does not apply
  • class : a group sharing the same economic or social status
  • method : a systematic plan followed in presenting material for instruction
  • static : showing little change
  • public : exposed to general view

If you are a programmer with a sound understanding of the English language, you will immediately recognize how close these definitions are to their meaning in the context of programming. It may even sound silly that this is worth even mentioning. But if your understanding of the language is limited, you may have to mug up a bunch of new words like these just for the sake of learning to code.

So if you are new to coding, make sure you understand the new terms in contexts other than programming. Where in the English language do you use words like "iterate", "static", "class" etc ? It is then much easier to transfer the analogy to the programming context. If you are a friend or an instructor who is trying to teach coding to other people, again, make sure they understand what each new term means. I have attended quite a few talks where the instructor says "I won't scare you with complicated terminologies". Yes, a newbie audience will be intimidated by new terms. But instead of entirely skipping the raw terminology take the time to explain what it means on a very literal level. It is worth it.