Home    Files

software times™  Files...

July 26, 2011

The Principle of Mutual Exclusivity

Describing what worked and what did not in Sesame Street, the famous children's TV program, Malcolm Gladwell explains why a segment where Big Bird wanted to get a new name did not work, or was not sticky, to use his terminology. The problem seems to have been "the principle of mutual exclusivity" which Gladwell describes as follow:
Preschoolers make a number of assumptions about words and their meaning as they acquire language, one of the most important of which is what psychologist Ellen Markman calls the principle of mutual exclusivity. Simply put, this means that small children have difficulty believing that any one object can have two different names. The natural assumption of children, Markman argues, is that if an object or a person is given a second label, then that label must refer to some secondary property or attribute of that object. You can see how useful the assumption is to a child faced with the extraordinary task of assigning a word to everything in the world. A child who learns the word elephant knows, with absolute certainty, that it is something different from a dog. Each new word makes the child's knowledge more precise. Without mutual exclusivity, by contrast, if a child thought that elephants could simply be another label for dog, then each new word would make the world seem more complicated.
This passage brought back memories from the time I started writing computer programs in the early 1960s. Back then we were still using first generation languages which meant that we were dealing directly with the computer's memory and the processor's registers. Also, memory being at a premium, we would have the programs alter themselves so they would do more in the same amount of memory space.

Initially I had a mental block because I could not figure out how the computer knew what in memory was instruction code and what was data. It seems now that I was unconsciously applying this principle of mutual exclusivity: instruction code could not be data and data could not be instruction code.

Then one day it dawned on me that the computer didn't know and didn't care and that it made no difference because it was just bits and bytes in memory (except that bits and bytes had not yet been invented, computers were using different coding systems). The bits and bytes in memory could be dogs or elephants or giraffes or instruction telling the computer what to do. It was I, the programmer, who had to know to make sure that instructions operated on data and not the other way around. Computers are really dumb. Thank heaven programmers are smart, at least, some of them. wink

Denny Schlesinger

The Tipping Point: How Little Things Can Make a Big Difference by Malcolm Gladwell

Home    Files
Copyright © Software Times, 2000, 2001, 2003. All rights reserved
Last updated March 8, 2009.