7.09.2009

why I can't communicate

There's an intriguing article at secretGeek about programming and communicating with human beings: http://www.secretgeek.net/program_communicate_4reasons.asp

I'm guilty of everything mentioned in the article, but especially of this:

2. Humans don't mean what they say.

Compilers are of course perfectly literal. They don't care at all what you mean, they arealways hung up on precisely what you say.

Even if you didn't start off life as an anal-retentive git, you'll slowly gain the requisite faculties over years of trying to please a compiler.

The art of trying to please a compiler consists of the ability to logically, dispassionately, analyse what you've said, to discover and remove any mistake or ambiguity -- to always produce an output that is perfectly comprehensible to the strictest of master.

Try being like that around real people. Just try it.

People are barely literal at all. If you take them literally when their meaning differs from their words -- they will get quite irate with you. They won't see that the mistake is theirs.

When the words they use differ from their intent, you may feel an overwhelming desire to 'correct' their mistake. You may even think you are doing them a favour.

This is a natural feeling, amongst programmers, who would be happily spared the torture of spending time trying to remove all ambiguity from the words they provide to a parser.

But please (please) hold back. You might score a small point in the 'intelligence' column for pointing out their 'mistake'. But you'll also score about a bajillion points in the 'what a freaking dork' column.

I strive to be perfectly literal and unambiguous when I communicate. In written communication, it's harder to notice, but in conversation I'll revise a statement I make seconds after saying it if I notice I've let something ambiguous slip. Along with this comes the inability to tolerate ambiguity in what others say; I'll ask questions of anyone I'm talking to until their statements could be interpreted by a computer. What I didn't understand is that this drives them nuts.