What does it mean to learn a new programming language? What must you know to start writing code in that new language? 

Suppose you had learned a programming language in the same family as the new language you are trying to explore, e.g., Object-Oriented Programming (OOP) or functional programming. In that case, you may learn to use the new language relatively quickly as the mental model is already established. But what if the new language vastly differs from what has been ingrained in your head?

Every programming language can be deconstructed and described by a set of essential characteristics. Understanding these characters, often called the design features, will help you learn and use an unfamiliar programming language easily.

Characteristics of a programming language