Vivekanand Vellanki

Lets look at it differently: when the teacher says something, do all students understand it in the exact same way? or do different students understand things differently?

This is important because this questions the meaning of understanding. What do we mean by "understand" when different people understand the same words  differently?


Because computers approach language in a logical way, and human language is not logical but emotional. Douglas Hofstadter wrote (a long time ago) that computers are logical but not reasonable while people are reasonable but not logical. English, like all human languages, caters to human strengths.


Johnson, M. (1987). The Body in the Mind: The Bodily Basis of Meaning, Imagination, and Reason. Chicago: University Of Chicago Press.

Locke, J. (1690). An Essay Concerning Human Understanding. London: Penguin.

To communicate, we need a common platform/medium/language which can be understandable by both sides. The communication may be between humans, or animals or between human and animal, or may be between human and machines. That common medium/platform is generally what we call language. Language is just a set of rules called Grammar, which should be followed by both sides. Generally the language which is used by humans are called Natural languages like English, Telugu, Hindi etc.. Natural languages has unique property called 'Context sensitivity', which means depending on the context meaning changes. Please see below examples for the same word 'like'

I like Cricket.

He plays cricket like Sachin.

When human interacts with machines, there also needs to be a language which can be understandable by human and machines. Machine only understands 0's and 1's. But it is very difficult to understand the 0's and 1's by humans, so there comes a common language called Programming language.

Programming languages are also called context free languages, that means for one word, there should be only one meaning, unlike natural languages which has different meaning for the same word depending on the context. So to interact with machine we need a programming language called Assembly language which contains a set of limited rules called instructions.