Layne's Law of Debate:
Coined by LayneThomas.
Knowledge occurs in ideaspace, but arguments occur in wordspace, often due to low fidelity translation between the two spaces. The argument itself must exist as ideas, not words. To argue over the definition of a word is contrary to the spirit of arguing. To attach any relevance to the word used for a given idea is to destroy the argument. People play word games to further their agenda, and LaynesLaw is a defense against SocraticMethod attacks where slightly different definitions of a word are a trap if you agree to their definition. This leaves an irritating dilemma: what do you do if someone else is turning the argument into a contest of definition? Does this leave every argument as a cooperative endeavour, with neither party able to keep it meaningful? What happens when no agreement can be reached as to whether the argument was truly that?
What happens if a debate ends prematurely:
A: Your dog is stupid. B: No he isn't. A: Yes he is. B: No he isn't. A: Screw this, I'm going to the pub. B: Good riddance....at no point did the definition of a word get anywhere involved.
It's just not made explicit. In this case, the definition in question is that of "stupid".
LaynesLaw states that it *will* happen - and thus the argument will end. This page doesn't describe how debates start, but how they end (not in fire, but in ice). A big problem is that language is relative. Suppose the debate was "are conservatives more wealthy?" - eventually the term conservative would be debated, and then clarified with "fiscal, social, etc" conservatives. If they ever settled that, they could move on to fiscal wealth versus emotional wealth. Then they could argue whether the different kinds of wealth can be compared with "more". They might even argue that "are" is irrelevant since the current period is atypical of history or not part of some future plan. LaynesLaw describes what happens when ideaspace collapses due to bad structural support(i.e. the meaning of certain words are in dispute)
When this situation occurs, the best the arguer can do is to ask for a definition of the word, and then accept the given definition. Otherwise, you will find yourself forever speaking meaningless words, and there is no real argument. Unfortunately it is exceedingly difficult for humans to completely agree on the definition of any complex word. For philosophy to exist, there must be a way to decide what argument is valid, and what is not. This decision, however, can not be made by any person. How can anyone be certain of their own knowledge?
I've done a little consulting, and one of the first issues you face with a client is learning their language. Every specialty has commonly used words that carry different connotations in the context of that specialty. I think it's best to let the mantle of All Knowing Consultant Come to Save Us From Ourselves (would that be an insultant?) slip a little and just ask if that word means what you think it does, or does it have some special meaning to the client. Just hope it doesn't start a debate on the client's side of the table when they disagree on the meaning! (Although that quickly restores the mantle and sometimes solves the problem too. All that remains is to send a bill for sitting through their argument.) -- BobBockholt
This law has some relation to WilliamBurroughs's notion that language is a virus. Those that can force others to accept a word's definition have power over them and humans are exceedingly bad at distinguishing between symbols and literals when language is used. Words such as "racist", "evil", "Nazi", "liberal", etc., are often abused beyond their dictionary definition to cause an emotional reaction. LaynesLaw states that such abuse is a debate-ending technique. Unfortunately that technique can be used to WhiteWash? certain issues, but until humans are capable of seeing beyond the symbols, there is no foreseeable solution to such manipulation. See GodwinsLaw
On the other hand, I frequently find it an effective tactic, when someone wants to argue over words rather than ideas, simply to accept their definitions and then explain my ideas in terms of their words. This short-circuits their defense mechanism, forcing them to argue on my terms (but not necessarily with my words).
This generally works for me too, although the opponent is often quite content to believe they have won when it comes to this point. Part of the problem, I think, is that people often argue about definitions in order to bring together a specific denotation with a specific connotation. Admitting their denotation necessarily does this, because connotations tend to be much less mutable - at least, connotations of the kinds of words people tend to argue toward. For (a contrived) example, suppose my opponent is arguing that my political affiliation is in some aspect "nazi". I can quite easily accept their definition of "nazi" and continue to argue that, while true, this is not a bad thing, because their definition is flawed, but by allowing the loaded word into the debate I have allowed its connotation in, which is often the true unstated goal of the sort of opponent whose argument rests primarily on a definition.
Of course you may not fall trap to using the loaded words but rather use the concepts and other terminology or your opponent. Or if you want to use the loaded word then in a context where your opponent is forced to accept it for himself (which he probably wont). YOu do so by constructing a chain like "...so you admin that X is good? And you agree that X is advocated by nazis? Then you seem to admit that nazis advocated some good things?".
Alternatively, in order to avoid loaded words, you can simply use explicit namespace conflict resolution... I find that most people can handle thinking this way; while it adds extra syntactic burden, after a while the multiple definition override can be deduced from context (because human brains are good at that sort of thing). For example: "My definition for the purposes of this argument will be socialism means X" and then I can reference it like "my definition of socialism". If they propose an alternative definition, then that becomes "their definition of socialism". It is very similar to how conflicts can be resolved explicitly in multiple inheritance, and often, if the definitions are different enough, the prefix can be culled because it is obvious from context.
To me, how people perceive, interpret, and apply definitions is a window into their psychology. One can learn how they view the world. Computers and software have the ability to transcend the 3D Newtonian world that we grew up in. This makes for an interesting "fuzz-space" into which perceptions are allowed to float freer, leading to more diversity of thinking than what would otherwise be seen when tied to 3D Newtonian rules. This freer virtual world becomes a Rorschach Test. For example, what exactly does "together" mean (GroupRelatedInformation) in computer space? Computers can emulate just about any concept you want (but with limits of accuracy). Thus, if you need or want a 27 dimensional universe to solve a computational problem, you can have it. 25 things can all be in the exact same spot at the same time, but this is nearly impossible in the physical world. -- top
Indeed. It's unfortunate for that same freedom to make programming such an abstract and relative affair. It can make one crave a little structure - something absolute to hang onto. The psychological aspect is interesting also - I tend towards the libertarian/anarchist side in RealLife, but when it comes to programming, I prefer my code to be authoritarian (it's code - not human rights after all). -- LT
One solution is to introduce standards, but standards tend to hardwire a given viewpoint into them, which is obviously going to anger some. Plus, standards tend not to keep pace with change.
Or Microsoft's changes
Moving standards? Isn't that an oxymoron?
That is exactly what often makes a standard useless. A good way to taint a standard is to get Microsoft to embrace it. (HTML/Kerberos/Fahrenheit/ChromeEffects?/CPP come to mind)
But sometimes a tainted standard is better than no standard. SQL is tainted, but having each RDMBS have a completely different relational language would be a bigger mess. (Then again, it might also spur innovation in the longer run (QwertySyndrome perhaps). No vendor wants to challenge SQL on its faults right now.)
Absolutely. That may sound silly if you're looking at it from a certain point of view, but that amounts to a mental block. Consider an extreme example: if I think we're talking about the best strategy to use for winning our next football game, and if you think we're talking about the best strategy that was used by the Allies in North Africa in World War II (or to make it even more clear, if you think we're talking about what marked the beginning of the Renaissance), that truly is not about word definitions, that's because we are talking about different topics.
And such things happen all the time; one can't lump everything under LaynesLaw. -- Doug
Never argue with a fool. People may not be able to tell the difference.
First, define "fool"? :-)
I suspect the reason LaynesLaw holds is that it is not a common habit for people to reveal their motivations for believing that certain things are true, or even to admit that such non-logical things affect one's beliefs. This results in two people believing conflicting things for hidden reasons, and since the dialog has now been projected to "the truth" without first addressing our attachment to it, we are caught in a place where, if we honest, we must admit to particular flaws in our argument while at the same time being unable to let it go, and therefore we must narrow it until we agree.
I would tend to down-play "non-logical" because its possible for people to have internally-consistent internal (mental) models of the world or software such that their beliefs are logical within that "world". There are multiple paths to the same door (results) in software engineering. Interesting or difficult problems have too few paths to the door, and contentious ones have too many. --top
Define "clearly" first :-)
Laynes Law and Dual Win
Someone once claimed I'd have to change code in every module in a book/media library example to add new "media types" using P/R while OOP allegedly avoided that. In the end it turned into LaynesLaw over "types". Somehow they weren't "types" if tracked via tables instead of formal language types in his view. I ended by saying, "call them whatever you want, I still don't have to change each module to add a new media 'kind'. I care about productivity here, not labels." We both ended up claiming "victory" because he was focusing on the definition of "types" and I was focused on code maintenance effort/impact. This is largely because we didn't define the goals of the "contest" up front. (He did claim that such a technique didn't enforce TypeSafety, which lead to the standard dynamic-versus-static debate.) -t
Can a model really be separate from "language", and how can we know unless we turn it into some kind of language or notation in order to compare? We sometimes like to think that language is just a necessary evil to transfer models from one system (human and/or computer) to another. But maybe either they are not distinct, or there is no way to verify a distinction without first converting to a language/notation?
Take model A and model B. Model A is in notation X and model B is in notation Y. How can we know if model A is equivalent to model B without first converting it to some notation/language, such as both to either X or Y? -t
Another way of stating this is that is that clarity is usually a prerequisite for resolving conflicts of viewpoints (but not necessarily a sufficient condition in itself). And, obtaining clarity requires the use of language. Any problems of "translation" introduced by the language thus get in the way of at least one prerequisite from being satisfied. -t
I don't have to "twist words". They were born twisted. Spoken language sucks when precision and clarity are needed. That's probably why lawyers invented their own sub-language. --top
Sorry, could you please rephrase that, I couldn't understand you since EverythingIsRelative. Did you say you had an ice cream cone at the swimming pool?
As I said elsewhere, it doesn't matter if EverythingIsRelative as long as we agree on the "base model" for the discussion. We build off of UsefulLies that we mutually agree to and can live with approximations for the most part with some give and take. -t
Take 2: When you say "at" the pool, do you mean near the pool (how close?), actually in the pool (water), or hovering over the water somehow? (Please, no Caddy Shack jokes.) -t
Examples of common Wiki Definition Debates
How fricken right LayneThomas is, unfortunately. -t
I actually caught myself using the term "de-has-ify" in a term battle. Something is wrong. It's amazing how dependent our communication about software issues is on English (or spoken languages). This is a very unfortunate, for spoken language is so ill-equipped for such. More formal notations could be used, but often such represents one of multiple possible views or models of something. Thus, such precision is usually lossy in that it discards alternative models of similar or same observations or viewpoints. English is vetted by more people and more "levels" of people (education-wise) such that it contains some amount of "common understanding". However, a formal notation won't have that: it hasn't been "vetted by the masses" such that it may tell us very little about "common understanding". It's almost like a quantum paradox: you can't have wide vetting and precision of meaning at the same time, resulting in some difficult and unpleasant communication when details are sought.
For example, an economic notation system may assume that recessions are a bad thing to avoid. However, if you own a business that benefits from recessions, such as alarm systems or early retirement counseling, then a notation that assumes recessions are a bad thing would be an unnatural fit, and perhaps "wrong" to such businesses. One man's waste is another's fertilizer. -t