On casual inspection this looks like the same mistake that was explained to me by my supervisor on my first programming job: humanities students tend to mix up the meanings of the AND and OR operators in search queries. They think a query “space AND science” in a library catalogue should return a list that contains all science topics together with all space topic, instead of a list of all scientific space topics. It’s very difficult to explain this to them as the notion of a boolean predicate seems to be alien to the way their brains are wired. I couldn’t believe this at first, but it’s true.
Well, M, the fault may not necessarily lie with the hum studs. The problem may lie with the fact that computer science appropriated common words and re-assigned their meanings slightly, just enough to make your language instincts lead you wrong, but not enough to warn you that you shouldn’t even try to use your instincts to interpret the words.
After all, in everyday speech, “and” is used often in the sense of OR. If I’m asked where I want to go for a picnic and I reply I like the beach and the park I surely do intend that “and” as a logical OR. I don’t mean to imply we have to go to both places in the same trip. Furthermore, if I’m asked what I want to eat and I reply ham sandwiches or tuna fish I mean that “or” as a logical XOR. I would be surprised if someone brought both.
We have a similar problem in thermodynamics, where the words “heat” and “work” have been re-assigned slightly different meanings than they have in everyday speech. You can fool students (or educate them, if one is being less cynical) by asking them trick questions like Which has more heat, an ounce of molten iron or the Arctic Ocean in winter? (the Arctic Ocean) and If your muscles do 1.5 kJ of work on you when you climb a 6 ft ladder, how much work does your body do on the floor when you fall off? (zero).
I actually say xor (“eks-oar”) in casual conversation when that’s what I mean.
To be xor not to be!
I’d rather be XCOR.
The problem may lie with the fact that computer science appropriated common words and re-assigned their meanings slightly…
“Computer science” didn’t appropriate them, George Boole did, way back in the 1840s.
What an interesting group of casual acquaintances you must have, TQ.
My crew is geek, CP, no doubt.
@Carl … It’s not that computer science has assigned a slightly different meaning to them, it’s the sloppy “common” usage that confuses people … If you get into a legal battle, you’ll find out quickly computer science folks are using it correctly.
I agree with LoboSolo: using the picnic example..
if you say where would you like to go for a picnic: and the answer is “the park and the beach”, one might assume you would like to have some at the park and then also the beach.
However! If you say “Where do you like to go on picnics:” the park and beach wouldn’t be confusing.
So agree that it isn’t, in this case, that logisticians and then computer scientists have misappropriated the terms, it’s that they are enforcing a consistency that most people aren’t aware of.
it’s the sloppy “common” usage that confuses people
It’s not sloppy, it’s flexible. I’m the first to appreciate the utility of precise language — heck, in my field it’s possible to read papers written in strange foreign languages, because all the real meat is contained in the equations, and mathematical expressions are the epitome of precise language — but you need to get respect for Father Time and Mother Natural Selection.
There are excellent reasons, I assure you, that language is as slippery and flexible a construct as it is. It serves our communications needs very well. If a logically precise and rigid language would do so better — we would use one, evolution being the remorseless seeker of perfection it is.
There are folks in computer science who grapple with ideas of “fuzzy” logic and similar. I’ve never been very impressed with what’s come out of it, but I think they are correct in reasoning back from the plain empirical fact that the most useful programming language on Earth is English (which one human can use to program another) to wonder why English is a better programming language than, say, Fortran or C. (I don’t have an answer, by the way; I present it only as a fascinating fact that can’t be ignored.)
On casual inspection this looks like the same mistake that was explained to me by my supervisor on my first programming job: humanities students tend to mix up the meanings of the AND and OR operators in search queries. They think a query “space AND science” in a library catalogue should return a list that contains all science topics together with all space topic, instead of a list of all scientific space topics. It’s very difficult to explain this to them as the notion of a boolean predicate seems to be alien to the way their brains are wired. I couldn’t believe this at first, but it’s true.
Well, M, the fault may not necessarily lie with the hum studs. The problem may lie with the fact that computer science appropriated common words and re-assigned their meanings slightly, just enough to make your language instincts lead you wrong, but not enough to warn you that you shouldn’t even try to use your instincts to interpret the words.
After all, in everyday speech, “and” is used often in the sense of OR. If I’m asked where I want to go for a picnic and I reply I like the beach and the park I surely do intend that “and” as a logical OR. I don’t mean to imply we have to go to both places in the same trip. Furthermore, if I’m asked what I want to eat and I reply ham sandwiches or tuna fish I mean that “or” as a logical XOR. I would be surprised if someone brought both.
We have a similar problem in thermodynamics, where the words “heat” and “work” have been re-assigned slightly different meanings than they have in everyday speech. You can fool students (or educate them, if one is being less cynical) by asking them trick questions like Which has more heat, an ounce of molten iron or the Arctic Ocean in winter? (the Arctic Ocean) and If your muscles do 1.5 kJ of work on you when you climb a 6 ft ladder, how much work does your body do on the floor when you fall off? (zero).
I actually say xor (“eks-oar”) in casual conversation when that’s what I mean.
To be xor not to be!
I’d rather be XCOR.
“Computer science” didn’t appropriate them, George Boole did, way back in the 1840s.
What an interesting group of casual acquaintances you must have, TQ.
My crew is geek, CP, no doubt.
@Carl … It’s not that computer science has assigned a slightly different meaning to them, it’s the sloppy “common” usage that confuses people … If you get into a legal battle, you’ll find out quickly computer science folks are using it correctly.
I agree with LoboSolo: using the picnic example..
if you say where would you like to go for a picnic: and the answer is “the park and the beach”, one might assume you would like to have some at the park and then also the beach.
However! If you say “Where do you like to go on picnics:” the park and beach wouldn’t be confusing.
So agree that it isn’t, in this case, that logisticians and then computer scientists have misappropriated the terms, it’s that they are enforcing a consistency that most people aren’t aware of.
it’s the sloppy “common” usage that confuses people
It’s not sloppy, it’s flexible. I’m the first to appreciate the utility of precise language — heck, in my field it’s possible to read papers written in strange foreign languages, because all the real meat is contained in the equations, and mathematical expressions are the epitome of precise language — but you need to get respect for Father Time and Mother Natural Selection.
There are excellent reasons, I assure you, that language is as slippery and flexible a construct as it is. It serves our communications needs very well. If a logically precise and rigid language would do so better — we would use one, evolution being the remorseless seeker of perfection it is.
There are folks in computer science who grapple with ideas of “fuzzy” logic and similar. I’ve never been very impressed with what’s come out of it, but I think they are correct in reasoning back from the plain empirical fact that the most useful programming language on Earth is English (which one human can use to program another) to wonder why English is a better programming language than, say, Fortran or C. (I don’t have an answer, by the way; I present it only as a fascinating fact that can’t be ignored.)