Take the words AlwaysAndNever in Wiki in the appropriate spirit. Exceptions to these rules and pieces of advice exist, but the existence of exceptions doesn't invalidate the advice.
Alternately: avoid the use of "never" and "always" unless you really mean "never" or "always" . (In a multiverse that contains an infinite number of universes where every possible set of physical laws exit, "never" should never be used, except in this sentence.) NeverIsAlwaysNever? and AlwaysIsAlwaysAlways?. When you detect that someone has misused "never" or "always", refactor them away.
What use is a word if I can't use it? [Our language has several "worse than useless" words - c.f. "deserve" - and I do my darndest to not use them. -- GarryHamilton]
None, but what does it matter? Why use a word improperly or imprecisely if you can avoid it?
"Always and never are two words you should always remember never to use." -- Wendell Johnson (or M. Kendig)
I know that if you agree NEVER to let the unit tests drop below 100%, you'll only do it that one time when you just couldn't figure out an incremental way to change all the deductions from negative to positive. If you agree NEVER to keep a task open for two weeks, you have a better chance of finding the way to do it incrementally, and that one time you'll make sure you've sucked every idea out of the universe before giving in.
When I say something should never be done, it should mean that you'll never do it unless you really have to.
And if you really have to, you'll ask everyone you know first so you still won't have to.
And if you still have to, you'll be looking over your shoulder scared to death that I'm going to materialize there and say "why didn't you just ..." and be RIGHT, and EVERYONE will know you're an idiot.
When you're sure that you'll be able to say "because X" and I'll quietly lower my eyes and say "oh" and de-rez back to wherever I come from ... then break the rule.
Then do one more thing. When it's over, and you've suffered - as you will - for breaking the rule, think back and figure out what you could have done, and learn the deeper meaning of NEVER.
Responding to the never-baiters
So the problem appears to be: when you say "never", you are assuming that your reader is intelligent and cooperative. Intelligent enough to modify an idea in a situation where it doesn't quite fit, and cooperative enough to assume that you are intelligent in that way, too.
But some readers don't want to play that way. If their goal is to humiliate people by making them seem stupid, assuming intelligence on your part would be useless. Much better suited to that goal is to assume that you're an idiot who fully intends to apply ideas in the most mechanical, inflexible, doltish manner possible, regardless of results or circumstances.
Any attempt to express an idea simply involves leaving out the infinity of provisos and qualifications that would be necessary to spell out every possible circumstance and variation. And that opens up the possible to try to make you look like an idiot by construing "never" and "always" in simplistic ways. This wiki is well-traveled enough that there will always be some people who play that game.
The problem, then, is: How to respond to people who play that nasty game? The idea proposed above seems to be to spell out provisos and complicated definitions of "never": not to assume cooperativeness or intelligence, but to give in to the implied demand to spell out more and more provisos. I propose that this strategy won't work. If you make a wiki page to explain what you really mean by "never" - the meaning that a cooperative reader would assume - a hostile reader can just ignore it. If you give provisos and qualifications, a hostile reader will just find more exceptions or will find faults with the provisos and qualifications. If you address those, you end up with a mess of text that no one can understand because the idea has been drowned out.
Another possible response: when the hostile readers show up and construe what you've said in deliberately stupid ways, just ignore them. You've made your contribution, now let them make theirs.
Please don't assume hostility or idiocy as the cause for avoiding absolute terms. I've spent about 18 years training myself to avoid words like "never" and "always" because they create an unrealistically absolute semantic landscape in my head. It isn't a "nasty game"; it's a conscious effort to think more realistically. I was inspired by AlfredKorzybski? and BuckminsterFuller. I don't know anyone else's motivation, but I don't avoid absolute terms to humiliate anyone. I do it because I find the world has very few absolutes. (Not none, of course, but less than most use of language would lead me to believe.)
It doesn't require complicated definitions of "never". Words like "rarely" and "seldom" can be used when that is what is meant. "Always" is almost always "almost always".
"Usually" and "frequently" can be used instead of the cumbersome "almost always".
Eric, a clarification: the hostility described above isn't about avoiding use of the words "never" and "always", it's about bringing up quibbles when other people do. I agree, one might well avoid those words for very different reasons than trying to placate that sort of hostility. -- BenKovitz
Normally, people tend to dramatize what they want to say using the words 'Never', or 'Always'. Most of the time, their usage of never do not dwell upon exceptional conditions. It is the duty of the reader to try to understand crux of the matter rather than trying to simply negate by taking objections to absolute terms. And in case the reader finds that usage of 'Never' is unwarranted, he may change the statement with permission from the person who posted it originally. Countless amounts of energy is wasted discussing over the usage of 'Never' so that it justifies existence of this page.
The problem Korzybski and others have pointed out is that at some level of consciousness "never" means "never". Even if we strip it of meaning during normal discourse and mentally replace it with "almost never", we can't avoid the effect it has on how we build mental models.
Interestingly, there is no difference in meaning between "Always get all the unit tests to pass before checking in" and "Get the unit tests to pass before checking in."
Perhaps all of these quibbles and dangers and such would be avoided by just understanding something of the reasons for a rule. That determines the range of phenomena over which the "never" or "always" applies (whether explicit or implicit). There is always some range of phenomena over which it applies. The trouble is that it's staggeringly difficult to draw a perfectly precise line around it - impossible, even, because it would require infinite knowledge. Fortunately, if you assume intelligence on the part of the reader, you don't need to. The reader can use his intelligence to see whether or how the rule applies in each situation. In practical matters, it is neither necessary nor possible to know, for all possible cases, which side of the line they're on.
It isn't that simple for me. When I see a page titled something like "ThrowDontCatch" or "CatchDontThrow", I understand that the author doesn't intend them to be as absolute as they sound. But I also know the way they sound matters. If you repeat a mantra like that often enough it will influence how you think and behave. Words reprogram us whether we like it or not, no matter how intelligent we are. You may know that "never" is never "never", but repeat "ThrowDontCatch" often enough and your first impulse will be to throw instead of catch, even where catching is appropriate. -- EricHodges
I disagree, but I'd like to explore this further. Maybe I'm wrong, or maybe we've stumbled onto a deep difference in the way different people think. Here's how it looks to me: I can say ThrowDontCatch a thousand times, and it will always sound to me like just words. Only if I "get" the kernel of truth underlying the phrase can I take it seriously - or even know what it means. And then, when writing Java code, I'll draw upon my understanding of the idea, modifying it or rejecting it to fit the situation, not applying it like a robot who's been programmed to obey words. A rule is a tool, and if a tool doesn't fit the job, I won't use it.
Is it any different for anyone else? Does anyone write code or do anything by mindlessly heeding phrases they've heard, without regard to the situation that they're applying them to? Is the fear that people will be programmed by words just fear of a possibility that's almost never happened? Or is this perhaps a deep difference in the role that words play in different people's thinking?
It isn't "mindless", it is mind. Consciousness is internalized verbalization. Our intelligence and sense of self are largely defined by words. Words are an effective way to program human nervous systems. Advertising, propaganda, brainwashing, indoctrination, psychotherapy and education are all examples of words changing how people think and behave.
I don't believe this varies from person to person, at least among people who use language. I think this is part of the definition of how language, thought, reason, etc. work. When you see "a=a", you know what that means because of words you've heard before. When you apply logic/reason/intelligence to determine when to throw and when to catch, it's built out of words that you heard or read.
After repeated exposure to a slogan like ThrowDontCatch you probably won't stop catching exceptions, but your first impulse will most likely be to throw them.
Thank you, Eric. Perhaps you've identified our disagreement: I don't think that consciousness is internalized verbalization. Words are just one of a zillion things your brain can play with. And we can use words in many ways, but I think the primary way is as pointers: like pointing at stuff using your finger. When someone says something to me, I don't look (only) at their finger to find the meaning, I look at what they're pointing at.
Hence ThrowDontCatch doesn't hypnotize me into throwing and not catching, it points toward the ickiness of having zillions of try/catch clauses everywhere and suggests a way to avoid that while still gaining the benefits of exceptions. The awareness of that ickiness is not the word "ickiness", it's a staggeringly messy bunch of visual, tactile, olfactory, and perhaps also verbal memories and metaphors - really, it's a concept, inextricably tied to the vast amount of concrete experience that gives it meaning. Mentally tuning into all that, I decide what to do in the present situation - not by following orders encoded in words, but by balancing lots of factors simultaneously.
Some folks say that this is a matter of left-hemispheric or right-hemispheric dominance. The little I've read about brain hemispheres says that they're not so specialized, but there does seem to be some deep difference going on between people with regard to their understanding of words. Some people (perhaps Korzybski among them) seem to view words as a kind of world held in the mind, where meanings are stable, and to which we fit concrete observations like feet to Cinderella's slipper. Others (like me and many people I know) view words as pointers whose meaning is always determined by whatever you're pointing at at the moment.
There is sometimes a deep conversational disconnect between people who understand words one way and people who understand them the other way. For example, the former approach leads you to clarify a meaning by abstractly stating a "line in the sand"; the second approach leads you to give lots of examples and point out the reasons why you think the distinction is important. If you want words to be treated the "stable world unto itself" way, a slew of examples and reasons doesn't clarify, it only seems to throw the conversation into chaos. If you want words to just be pointers, drawing an abstract line in the sand doesn't illuminate since it doesn't given you the kind of concrete examples and relationships that you need to find a word meaningful; it turns the conversation dry and legalistic. This is explored some at http://greenlightwiki.com/lenore-exegesis/Truth-and-Language_Exegesis.
A lot of so-called computing "truths" are stated as absolute prohibitions. Almost inevitably, they turn out to be the debatable preference of the speaker, with the thing being prohibited even being a good idea under many circumstances. Stating something as an absolute when it is not weakens your argument. Therefore, never say never.
Obviously you meant to say MostlyMaybeYouShouldConsiderNotSayingNeverTooVeryOften?
It may be obvious to you, but you will never persuade me that that was what was meant by the first paragraph. You should never say things that aren't so. Debatable preferences of speakers should never be taken as absolutes. To do so never strengthens the argument. So you should never do any of these things. -:)
Are you, or are you not, aware of the ironic self-contradiction in this notion? Your prose sounds like you are not, but the smiley face raises reasonable doubt.
CAPTAIN: And I'm never, never sick at sea. SAILORS: What, never? CAPTAIN: No, never! SAILORS: What, never? CAPTAIN: Well, hardly ever!