Languages

Language is the most common way people communicate with each other. I noticed many people having trouble understand each other’s point.

After 10 years working on software development, I realized most of time we are spent on communication.

There are many ways to communication, meeting, 1:1 chat, sharing, watch video, read code, comment, etc.

Sometime, you meant to say A, but you said B, and listener understand as C, and there could be many listeners, could be many versions of C, and the most important part is you might be thinking everybody understand that’s A.

There are many way to improve this process.

As a speaker, there are 7Cs communication toolkit, body gesture to help, situational speak, etc. As a listener, there are active listening skills, which help you understand other people’s point.

Today I want talk more on Language itself.

Let me start giving you an example talk between my wife and my son.

Wife said “You shouldn’t do BAD things你做坏事了” when my son pour drinks on the floor.

I strongly believe she meant to say “Naughty做错事”, but because lack of words, she called all negative things “BAD”.

So when I ask my son, “do you know why you being grounded?”

He replied, He did “BAD” things. He doesn’t really think “BAD” is big deals. In Cinese, doing BAD things usually means “rob,thief,etc”

That becomes a problem.

**You can not build a language system that communicate based on everybody’s different coordinate. **

Here is another example very common in my coding experience:

Engineer John write a function named “appClosedExit”, which was pretty straight forward, easy to understand, just do some cleanup before app close.

But then other engineers realized this function was very handy even when user logout and login. So they called this function in other places, which bring more meaning to this function.

Then it becomes confusion when some people read this code when most likely the author left this company, how could you do “appClosedExit” when user log out?

It’s better using a better naming for that function.

Great code is a language, it matches the nature languages.

Language code is developing, upgrading, start using correct word would avoid a lot misunderstanding.

So it make perfect sense for everybody to master his own language, for any non-english countries, you also need to learn english, because coding can only using English.

But it’s hard to totally master every detail of languages, vast Vocabularies, giving the fact that some words were build to have more meaning.

In Chinese,English, Yes,No, bool answers are usually pretty simple, straight forward.

But how about “Cool”“牛逼” and any other adjective word, they are usually unmeasurable, you need to feel the quantity. That leads to misunderstandings.

It works like a Map, but not accurate Map, more like a {key,range} map.

For some basic word XX, they usually have multi meanings, which create confusion. To avoid misunderstanding, people either create totally new word with only one meaning, or they combine words together to get unique meaning. Either way, they all increased the effort of learning for normal people, with time pass by, it’s incremental languages to learn. In Chinese, usually have 1/2/4 character character,word,idiom,etc. In English, usually have 1/2/xx word’s combination.

The more words combination, the less confusion. The less words, the more efficiency of communication, but it hurts efficiency when it reaches misunderstanding bottleneck.

Some standup comedy are master at using vague language to tell two story in one expressions.

So here is the question, what’s the best practise of communication? what’s our current situation?

If you think a little more, here is more detailed question, is there 3 tier of solution, easy/normal/professional?

I mean we certainly didn’t really go check the language itself, cuz it’s already there, people just get used to it, teacher’s job relying on it, literature people make their living on it.

If there is a way to embrace advanced language, communication, would you adopt it? How to create this massive things?

Let’s establish the model of people talking.

It’s always purpose orientated communication, people talk because they want information.

Usually it’s I/O model, you gave information, you get information in return. Maybe you can lie, but still that’s information.

Some information is fairly easy to get, because existing pattern already there, E.g, where is the wash room? It’s over there.

Some information don’t, some is very hard to get. The reason is there is no existing pattern, no protocol established over there in mind.

People need establish protocol to exchange information.

Some protocol was well educated, some don’t. Most of time, people failed to communicate due they didn’t find correct language to establish protocol to exchange information. People are actually discussion obligation when they trying to establish protocols. Once it’s done, people just need follow same protocol.