: The difference between theory and practice is greater in practice than in theory. A fallacious argument or general fallacy where one confuses (or mixes) the theory of some UniverseOfDiscourse with the practice or use of it. This is sometimes used in arguments in the following forms: * Practice of A is bad (or worse than B), because the theory supporting A is bad (worse than B). This is fallacy because the practice of A may still be quite good. (i.e. This fallacy consists of using a bad or missing theory of A as a StrawMan against its practice. This is only the case if one accepts that " * Theory of A is better then Bs, so applying A (''practicing it'') is better than applying B. This is a fallacy because application of theory often requires experience and tools which may be missing for A but present for B. General fallacy patterns: * practice of A > practice of B implies theory of A > theory of B * theory of A > theory of B implies practice of A > practice of B * theory of A > practice of B ---- I think, that this WikiWiki this fallacy may be involved in the misunderstanding between OOP and TOP. It seems like TOP argues sometimes like the following: : 'The RelationalAlgebra is better than ObjectOrientedProgramming (practice of OOP).' When in fact the theory of ObjectOrientedProgramming (namely TypedLambdaCalculus etc.) should be compared to theory of RelationalAlgebra. And the practice of ObjectOrientedProgramming (e.g. ExtremeProgramming, see also LearningObjectOrientedProgramming) should be compared to practice of DatabaseAdministration, underrepresented on wiki I guess. ---- {OOP and XP are orthogonal, aren't they?} The problem with practice is that it sometimes ossifies poor habits. The problem with theory is that sometimes it does not take into account practical issues that the theory "forgot" to address or personal preferences outside of objective theory. See DifferenceBetweenTheoryAndPractice, QuotesOnTheoryVsPractice -------- Consider the future, however. If Theory A is superior to Theory B (i.e., Theory A allows for greater efficiency, correctness, thoroughness, etc.) at what point is it no longer sufficient to be merely highly effective in Approach B? At what point is it better to be an average performer in the superior Theory A than to be in the 95th percentile under Theory B? When I first started developing software, skilled user interface designers knew VT100 codes and developed individual response parsing routines. Now non-programmers can drag and drop and build user interfaces arguably far superior to what the experts once built. The theory has shifted from that the user interface should require minimal resources from the computer to that the user interface should require minimal effort from the user. There are a lot of considerations to make as to when to shift in being proficient in practice of a less effective theory to being, at least initially, less proficient in the practice of a more effective theory. -------- See FallaciousArgument, WellDesignedFooCanBeBetterThanBar