Science Should Be Easy

...but it isn't.

One of the FallaciousArguments, routinely employed by pseudoscientists in order to "debunk" some scientific theory in the presence of laymen. It can be an especially effective technique if the audience is skeptical about intellectual endeavors (which makes this effective in political and business circles, where the decision-makers are often not scientists).

The essential assertion of this fallacy is this: Scientific truths should be readily explainable to functionally literate laypersons of average intelligence, who have no training in the discipline (or related fields that the discipline in question depends on). If not, the scientist is probably making it all up, using big long words, complex equations, and other forms of gobbledegook to cover up his fraud. (And scientists have much reason to do so - in order to keep their research grants coming in.)

Were this fallacy to stand, none of the following could exist:

In some of the cases, it is often possible to impart superficial knowledge of a scientific subject to a layperson; but in-depth understanding of any modern science requires in-depth study.

I don't know why you exclude Newtonian physics. The very fact that we could have nothing more complicated than algebra has to exclude Newtonian physics, because of the latter's reliance on calculus. (And even algebra is far more complex than most people might imagine--indeed, Wiles' proof of Fermat's Last Theorem runs hundreds of pages, relies on decades of work of previous previous mathematicians is pure algebra--algebra that may have even sucked other forms of mathematics into itself, to arrive at the result.) --Alpheus

This is thus a very important special case of the OverSimplification fallacy.

See also PseudoScience


Algebra can and has been taught to 2nd graders. The basic ideas are stuff that 4 year olds are often familiar with, i.e. when you say "Two plus two equals what?", it's the same thing as when grownups say "2 + 2 = x". The discipline of algebra is just realizing that the "what" doesn't have to come at the end, and figuring out how to reverse your steps so the "what" ends up by itself.

I disagree. They can learn specific simple facts you teach them about anything, but very few will be able to find out new things for themselves. Algebra is far more than just "reversing steps". For example, you can explain in detail why 1 + 2 + 3 + ... + n = n(n + 1)/2, but only a gifted youngster will be able to find (not prove, just find) the corresponding formula for 1^2 + 2^2 + 3^2 + ... + n^2 using algebra. In fact, most won't even guess that the answer needs just one extra factor. How do you teach young children how to guess effectively, how to spot patterns?

I fully believe that most 7 year olds are brighter than "an innumerate person of average intelligence", but I'd argue this is because adults make everything far more complicated than it needs to be.

SetTheory is often also taught to elementary school children, and I'd guess they could handle formal axiomatic set theory (as opposed to the union/intersection/membership pablum they're given) if their teachers could. But then again, set theory is not more complicated than algebra.

As for physics, basic electromagnetism (Coulomb/Biot-Savart force laws, principle of superposition, even most applications of Gauss's law in integral form) is no more difficult than Newtonian mechanics. I found it significantly easier. Once you get to div/grad/curl, it gets a bit harder, and when you get to tensors you've lost just about all laypeople, but that's still a lot of physics beyond Newton. And LagrangianMechanics? isn't in principle much more difficult than Newtonian; the proof of Lagrange's equations is about 3 lines long, falling out of the definitions of force, acceleration, and momentum. The equations sometimes get much hairier to solve, but usually these are cases where you can barely set up the problem in Newtonian physics.

I won't comment about medicine or chemistry since I have no in-depth knowledge of those subjects. I was balancing chemical equations and playing with molecular models when I was 6-7, but I realize there's a lot more to chemistry than that. -- JonathanTang

You'll note I said "average intelligence". While I suspect other 6-7 year olds might be able to handle stoichiometric equations given appropriate study, most cannot. Indeed, many adults have difficulty with the subject. Those of us who are smarter than the proverbial average bear often make the mistake of assuming that high intelligence is the norm - and the reason that your average six-year-old can't solve differential equations is 'cause the school system is failing him. (Although I'll certainly agree that in many cases, primary and secondary schoolteachers are ill-equipped to provide adequate instruction to advanced students...)

With regards to specific fields of endeavor, and their teachability, I'm not intending to make any firm claims as to when they can be taught to people and how long. The point I'm trying to make is that there is a persistent meme that states that everything should be simplistic, else it is rubbish. Which itself is rubbish.

But... it's understandable rubbish! To me, at least. Which in itself means that it must be true! (Shall we have a betting pool on how many FallaciousArguments are in this statement?) -- JonathanTang

You do a very good GeorgeBush imitation there...

The first contributor's argument is basically flawed and I am going to add my 2 pence/cents worth. This quote is my guiding principle when presenting scientific information.

"If you can't explain to a 5 year-old what you're doing, you don't know what you're doing." (Robert D. Ballard, Discoverer of HMS Titanic, Speaking at a conference at the National Geographic Society in Washington, Nov. 4, 2003)

If a scientist doesn't get across what he wants us to see/think from the presentation of his work, he has failed. The IQ of your audience is already something you should have considered when you put your work into the public domain. The discussion about how stupid people are seems be intellectual snobbery. Albert Einstein once said "It's not that I'm so smart, it's just that I stay with problems longer.", the only real problem being we don't all have the time.

-- KennethMcKee

P.S. Chemistry is easy; have you every tried understanding the rules of golf? So we're all clear on the rules, then? No Jews and no blacks. -- Agnus Griffin (FamilyGuy?)

I think you have it around backwards, Kenneth. It is true that you don't really understand something unless you can 'explain' it at a very basic level. To use your example, you should be able to give a 5 year old the flavour of it. However, this is a statement about *your* understanding of the science, *not* about the complexity of what you are doing. The explanation you give the 5 year old will necessarily be simplified, and probably flawed in subtle ways. It is the appropriate level for the audience, in other words. However, this is not the appropriate level for the work to actually be done in, nor for important policy or funding decisions to be made at. The average joe can understand a lot about what is going on (this is about ignorance, not 'stupidity'), but only if they are willing to put some effort in. Expecting deep understanding of complicated ideas to come from sound bytes and brief outlines is simply inane. As noted on this page, there is a common and fallacious argument made about science and complexity, these days especially from administration circles, which is simply not good enough. Coming from a group of people who are essentially anti-science, this is not surprising...

... employed by pseudoscientists ...

Yeah, like that Einstein guy ...

"You do not really understand something unless you can explain it to your grandmother." � Albert Einstein

If AlbertEinstein's grandmother could understand GeneralRelativity, I'd be shocked. At any rate, see comment above - just because Al could explain it (at some level) to grandma, doesn't mean Grandma a) understands it, or b) understands it at a deep level. Being able to explain something is an indicator of your understanding.

Again, if ScienceShouldBeEasy were true we all could become board-certified physicians after a three-hour lecture on the human body. Obviously, that is impossible. Many fields of study are sufficiently deep and broad that thorough understanding requires a significant investment of time for training and practice. To argue otherwise is a fundamentally anti-intellectual position.

Without wishing to be too contrary, there is understanding and then there is understanding. I can explain to my daughter what a microprocessor does, and she can "get" what it's doing, in much the same way that I understand what she's doing when she draws portraits. The explanations provide access, not necessarily skill. I can make the micro jump through hoops; she can draw a convincing dragon. My dragons are not convincing. Mine are ... hopeless. She, on the other hand, doesn't grasp enough of the nuances of flipping bits to carve a program.

Science should be able to provide access to knowledge, at whatever tier of understanding you can master. I have no illusions about bottling nuclear fusion, but I "get" what it's about. Some other guy gets it better, so I'll let him craft the first NuclearKleinBottle?. I know enough metallurgy to know that certain metals are good or bad for certain things. I would not presume to engage in the formulation process without more understanding and practice than I have.

I don't think the original author was trying to say that "everything that can be known should be easy for everyone."

I could be mistaken, but I think it's about access to appropriate understanding. Unless I don't get it. -- GarryHamilton

I'm the creator of this page. Mostly, I agree with you, Garry... however many cranks and pseudo-scientists out there do make the assertion that "everything that can be known should be easy for everyone". People who make this assertion either do so 1) out of ignorance, or b) in an attempt to discredit science so they can more easily peddle whatever snake-oil and/or quackery it is they are selling. I've seen reams of such out there. From know-nothing politicians who engage in denouncing academia as a bunch of ivory-tower frauds (while proposing simplistic, bumper-sticker solutions to complex problems), to cranks like LouisSavian? ( or TedNelson and their half-baked "I'm smarter than the whole of the ComputerScience field put together" schemes, to garden-variety fraudsters selling medicines that don't work... there are lots of people who assert the inherent complexity of science is sufficient to discredit science.

I can think of several WikiZens who fit this particular bill. I won't mention names here...

I think that the problem of ScienceShouldBeEasy is that it has two sides: The latter can easily lead to subcommunities in scientific circles, that do fetch funding and are self-referential and excluding students.

But these are separate issues. A scientist's job is to do science. A teacher's job is to teach. These jobs may be done by the same person, but not necessarily. And of course some texts are written only for peers (and most journals). Anything else would be inane. If you want to teach people, there is an entirely separable process of constructing a 'bridging' curriculum to get people to the point where they can read the working literature. In most cases, this is called graduate school. The idea that colleges and universities are somehow holding students back intentionally is simply laughable. If you can demonstrate a way that we can teach undergraduates how to do science faster (with similar resources, I suppose), I guarantee the world will beat a path to your door.

And what I get out of Jonathan's remarks is that if science is appropriately presented, children and laypersons can learn it much faster than is usual in school or college.

-- GunnarZarncke

Software design and physical science (Newtonian and quantum physics, chemistry) are two different animals. As described under LaynesLaw, software can transcend physical limitations.

Complete and utter BS. Software can't, for example, solve the EntscheidungsProblem, nor Hilbert's Tenth, nor do numerous other things.

We now have the ability to make a world in software that has almost any rules we want as long as we solve the problem at hand (right output).

At which point generating the "right output" efficiently becomes a paramount concern. While this introduces economics into the equation (at which point the discipline starts to wear the cloak of "engineering", it does not justify reducing the construction of software to a black art, full of hocus-pocus and mysticism.

We are thus not bound to physics with software (or at least less and less bound over time due to MooresLaw and related technical improvements).

Thus, the "science" of software may not have to be hard, unlike physical science. We are stuck with the laws of physics, but we can bend software laws in many ways.

In case you haven't noticed, MooresLaw may have finally hit the wall. CPU manufacturers have been stuck on 3Ghz or so for quite a few years now, with 4Ghz available in high-end products. If MooresLaw were still in full force, we'd be at about 8Ghz or so in your garden-variety WalMart PC. Instead, other architectures are being considered to get the speedups needed for continually demanding applications.

If it is "bendable", it isn't a law.

Thus, maybe software does not have to be hard, at least not in the same way particle physics might be. StringTheory makes a crappy assembler language for us to work with as humans. But, we can play God with software and change the rules as long as the output is correct. Thus, physical science is necessarily hard, but a universe of our own invention (software) may not have to be. (Contemplating moving some or all of this to SoftwareGivesUsGodLikePowers and DifferenceBetweenMathAndScience?.) -- top

I don't find the examples consistent with the supposition. The supposition explicitly refers to "functionally literate laypersons (sic)" while the first argument concerns "an innumerate person." The remaining arguments do not even specify an intended population, though I suspect much of even the general population is capable of understanding modern medicine, physics, and chemistry. Unclear explanations should not be viewed as connected with deep understanding and should be viewed with skepticism.

A lot of the discussion on this page concerns the level of understanding of a topic. An audience of average intelligence, with no previous training in a given topic, often can be taught a superficial understanding of a topic (to not much breadth or depth; often employing extended metaphor which is technically imprecise or incorrect), in a reasonably short amount of time. For example; consider the topic of plaque buildup in arteries, leading to heart attacks or strokes, etc. Most laypersons have a simple understanding of how this works; analogies to plumbing and stopped pipes have been successful. Laypersons also know that a substance known simply "cholesterol" is implicated in this; laypersons who are on a diet or exercise regimen may even know about HDL ("good") cholesterol, LDL ("bad") cholesterol, and triglycerides.

However, becoming a (competent) doctor generally requires more in-depth knowledge of the underlying biochemistry and biomechanics; stuff that generally requires advanced training in general chemistry and anatomy to understand sufficiently. Whereas the "stopped pipes" analogy can be described in a four-page brochure over a half-hour training session; in-depth knowledge of the topic requires much longer.

On a ComputerScience topic: I can explain the HaltingProblem to an interested layperson; simply by pointing out that in some cases analyzing a program takes just as long as running it; which may take forever. Pop-culture references, even if largely specious (such as NormanTheAndroid), may help. This is a frequently useful exercise in response to questions such as "why don't programmers write programs to get rid of the bugs in their code?". However, my lecture on the topic does not convey to the listener an in-depth knowledge on RecursiveFunctionTheory?, the ChomskyHierarchy, etc.

The essential point of the page is that some people often advance the claim that sophisticated science is in fact fraudulent; a giant house of smoke and mirrors which enables doctors (and others) to collect large fees and purchase country-club memberships, all at the expense of an unwitting population that has long been fleeced by this scheme. I don't all object to the notion that scientific knowledge should be brought to the masses wherever possible (and whenever said masses are interested); and there are many examples of circumstances where productive and useful work can be accomplished by individuals with little formal training (administration of first aid in medicine; many programming tasks, etc).

What I generally object to is the allegation of a GrandConspiracy of scientists and others - the notion that "if an egghead tells you something is difficult, he's lying". Many things that scientists do are hard, or at least require lots of study in order to understand at the level sufficient for scientific exploration. Granted, not all tasks in scientific disciplines require that level of understanding (many don't), but there are some that do.

I guess I see a slightly different aspect. I see a lot of pseudo-science that gets wrapped up in unusual terminology and complex logic. My hypothesis is that "Science is logical. Human minds have developed to process patterns, which is the basis for logic. From this, I believe that the better scientific description will be the more logical and most easily processed by the human brain. Hence, science should be easy or at least easily understood with the proper explanation."

Your hypothesis has some weak points, not the least of which is the fact that the vast majority of humans are very bad at logic. There is also a lot of empirical evidence that some of the best science only became generally accepted (by scientists, let alone laypeople) after a generation had 'grown up with it' (e.g., quantum physics, evolutionary theory). This is not because it is particularly complex, but that big ideas that require rethinking a lot of your assumptions (i.e. a 'paradigm shift', in the proper sense of the word), can be difficult to accept. A third issue is that often when an idea is first presented, it is overly complicated. If it is an important idea, many people will play with it - and iteratively improve it. This is particularly notable in mathematics, for example (have a look at Newton's original notes about calculus some time!).

I am not certain I follow the logic of this argument. I do not see the leap where the "acceptance of an idea" is deemed equivalent to the "understanding of an idea."

There is no equivalence. However, we are on difficult ground here, especially if we are talking about what science ought to do. But assuming there is always understanding, the length of time sometimes seems needed. In other words, there seems sometimes to be a need for difficult to accept (and understand) ideas to be around for a *long* time. But it is good science. As far as I can see, this is quite different from your idea of 'easily understood'. If your statement "or at least easily understood with the right explanation" can be read to include as explanation, for example, 4-6 years of postgraduate study, then you will not find much argument, I think. As far as "most logical and most easily processed by the human brain" goes, your argument is in difficulty, as our understanding of cognitive and neuro science does not suggest logic is not where you look for 'easily processed'.

As for the final point, it appears to reinforce rather than contradict the idea the science should be easy. The supposition presented was that an idea is initially overly complicated, but later is improved. I would conclude from this statement that simplification of the idea is improvement of the idea. To me, this progression implies a belief that science should be easy.

Simple is not the same thing as easy. And both of these things can assume a lot about the target audience. Note also, this progression sometimes takes centuries (in the case of maths, at least). And for all that time the ideas were in a (more) difficult to explain and understand form. So while you can certainly argue an aesthetic case (and many scientists would argue this strenuously) that, for example, given two theories and all else being equal, the simpler one is better. It is certainly not a logical consequence of this idea that one ought to reject complicated ideas. As far as I can see, the only defensible content of your statements is pretty much an inarticulate statement of Occams razor, but I may just be missing something.

Indeed, Science Should Be Easy, but 2 things get in the way.

Part of the problem, I think, stems from the notion of "easy"; it seems to mean different things to different people.

Explainer Not Trying Hard Enough?

(Based on material from ObjectiveEvidenceAgainstGotosDiscussion.)

Good doctors can explain just about anything if both parties are patient enough (pun). Sure, chemistry is sometimes hard to explain, but there are often common counter-parts to compare the general process to. For example, proteins tend to cling onto other proteins when there is kind of a key-to-door match between them. If the key or lock is damaged or changed, then the two may not fit so well. The wrong medication is like the wrong key: it won't fit the target proteins properly and thus not lock-on to the right "door" to do its work. People in academia too long often lose or never gain the ability to communicate to non-academics and get frustrated easy.

Once a newbie office worker asked me what the difference is between "filtering" and "sorting". At first I was talking techie gobbledy-gook, but then switched to a laundry analogy. Sorting is like grouping the entire wash results while filtering is selecting only some of the clothes, such as only washing the dark colors. It clicked.

If I have difficulty communicating to non-techies, I will tend to blame myself and think about better ways to describe it rather than call the user "dumb". If I try hard enough, usually I can find a way to communicate what I need to. (Although I do fail sometimes.) In explaining the difference between "fat-client" and "fat-server" apps, I've resorted to using elves. In client-centric apps, most of the elves are in your own garage and receive raw toy materials from the north pole. In server-centric apps, most of the elves and raw material stay at the north pole and they build-to-deliver what you ask for over the phone. One does not have to worry about elves with different skill-sets or tools at each different location (version variation) if they are all at the north pole. However, it requires supporting a big north pole operation. --top

Of course being 'patient enough' sometimes means 'educating the other party up to one's own level', especially when they assume they know something and can't be convinced they are wrong with their current level of knowledge. Elves and clothes are all nice, but to someone who thought different, your entire 'elves' analogy would be no better than some 'claim from on high by an arrogant SOB; fat-client apps mean apps that make the client fat, dammit, and that's what I'm going to teach to your children!'. There are people we might generally term as HostileStudents. They are such often because they are AgendaPushing - and often that for such ridiculous reasons as being unwilling to back down on something they said before (some people are more invested in their having-been right than in their becoming right). TopMind's examples are nice and all, but they are obviously provided in situations where the audience isn't assuming something. That Top brought this up in 'ObjectiveEvidenceAgainstGotosDiscussion' as though to blame the other party for not explaining well enough... bothers me; I don't believe Top at all qualifies as an unassuming audience.

And some people, whom we might generally term as 'Practical', demand that their audience already possess the necessary degree of education prior to engaging in professional discussion or willfully entering a situation where they may be required to do so. A doctor is allowed to assume that other (alleged) doctors and nurses are qualified and will understand what they are talking about without them babying it down in terms of 'elves' or 'dirty clothes' - that is, unless the topic is highly specialized even within the profession. A nurse or doctor that wasn't capable of keeping up with such discussion shouldn't even be allowed to remain in the profession! The same goes for people discussing on a profession-specific forum such as WikiWiki: we can expect, nay, demand a certain level of education and expertise when we discuss goto patterns or argue the benefits of double dispatch. And while we cannot expect that many know the depths of CategoryTheory or TypeTheory or GraphTheory, we can certainly demand expertise of those who choose to actively engage in discussion on the merits or properties of any of these or alternatives to them (unless they are just asking general questions). There is such a thing as negligent ignorance. People who wish to make make claims or engage in arguments have something of a duty to perform well, to make no unreasonable assumptions, to either have sufficient evidence or to be extremely forthcoming in the degree to which their statement is speculative... unless they are happy with being considered pretenders, trolls, and sophists.

Now, of course, the equation changes if someone really is just asking questions, seeking education. Experts don't have any inherent duty to educate those seeking it, but they should, if they are honest, attempt to do it well if they try at all. But, unless the listener is somehow paying the explainer to dumb it down to 'elves' and 'dirty clothes', I expect that "Explainer Not Trying Hard Enough" isn't a justifiable claim.

I personally believe its a good exercise to try to explain the benefits of something to somebody who may not be well-versed in the same professional lingo and idioms that we are. Again, I've found that if I really want to communicate with somebody not from a technical background, and both sides are willing to try, then eventually I can. It is usually possible. If the other side walks away and doesn't want to talk about it, then obviously its over. But if they stay, even if they are irritable or jumpy, it's usually possible to come to a mutual understanding even if there's a lot of shouting involved. I am not saying it is easy or that it is "expected" for one to be that patient, I am only saying its possible.

Sure, I believe you: so long as you're talking about "somebody not from a technical background" - i.e. someone who is both ignorant and who assumes you know better than they do - you can "come to a mutual understanding" because you're free to "teach" your audience. But, if nothing else, your experiences on WikiWiki and such pages as TypesAreSideFlags and ObjectiveEvidenceAgainstGotosDiscussion should have taught you that even you cannot come to "mutual understanding" with people that (for better or worse) think they know better than you do. Instead, you are accused of arrogance, fallacy, and negligent ignorance... to which you respond by making your own accusations. You, too, are a person who thinks he knows better (albeit you think it while thumbing your nose at academia and the vast store of knowledge it has accumulated). As such, patience or no, people can't "teach" you anything, be it what types really are in SoftwareEngineering or anything else. The only "mutual understanding" reached by each party is that the other is full of himself, and the only thing you'll get a good exercise in is your frustration.

Another thing, almost every tool is somehow tied to the real world. Rockets are very complex, but they need to be reliable, safe, accurate, cheap, etc. to various degrees for the users. When "selling" tools like rockets to customers, they want metrics that are closely tied to reliable, safe, accurate, cheap, etc. If you try to sell them on the idea that trionic compensator dynamical engines are "better" for their needs, you should focus on *their* needs and work backward toward the technology. You don't start with the technology first. The customer wants a package delivered to the moon regardless of whether the vehicle uses trionic compensator dynamical engines or gerbils on a treadmill. The "elegance" of the engine is not a selling point if not tied to the issues of getting the package to the moon. Technologists and acedemics often get blinded by the technological or mathematic elegance. We are often guilty of MentalMasturbation without knowing it. Focusing on the real world helps keep our head in reality of the purpose of the tool. That's why its a useful exercise.

I don't believe the WikiWiki is about marketing to the ignorant. When "selling" tools like "trionic compensator dynamical engines" to other rocket scientists, you start with the technology first. The audience wants to know why the "trionic compensator dynamical engines" will provide better "heat distribution and second-stage stability" than the "dual radial Whatsit engines" they're currently using. (Smart) customers don't care because they're not the ones making decisions on implementation. We here on the WikiWiki are technologists. Decisions on implementation is what we do.

We are also tool users. However, some imply that anybody who doesn't use certain techniques such as strong typing or thin tables are "lazy" or "dumb", it is realistic to expect a real answer instead of "read 80 academic papers and you will see why you are doing it all wrong and stupidly". Would you do the same to DHL if they were looking for rocket vendors to ship their packages to the moon? (Probably a bad analogy because they will be spending billions to do such, but individual developers have a tiny budget.)

It seems you view discussion in general in terms of marketing. You seem to treat every statement as though someone was marketing it to you, and that they've done something fundamentally wrong if they don't bother convincing you.

If I were attempting to sell you on an idea, as though I'd benefit (in terms of cash or convenience) from your buying into it, then NO, it would not be reasonable to demand you read 80 papers. In fact, it would be better for me to be dishonest while dumbing it down ("for the masses") because it really might take 80 papers to convincingly explain (in depth) all the various benefits of the solution and the disadvantages of the others even if much of each paper is just repeating the others.

But if my goal is simply to provide some wisdom and point you towards where you can learn WHY it is "wisdom", then pointing you at a 100 page paper and the five page bibliography at the back seems a very wise and efficient means to do so. Doubly so if you think you know better and aren't willing to be convinced by me anyway. Most people are perfectly okay if you continue to waste your (customer's) money or watching you flounder taking dead-end paths; "foolish" will mutter those who already ran into those brick walls (or learned from those who did so)... then they'll get on with life.

But there are many people claiming GoldenHammers, and their claims often conflict. To weed out the puffers and self-deceivers we can create tests. The X-prize is an example of a relatively simple test for something complex. It doesn't take 80 academic papers to describe something like "reach X miles high in a craft weighing less that Y pounds".

People with GoldenHammers aren't the ones who will point you at eighty research papers; at best, they have a silver bullet (there have been a few of those in the past) for whichever particular problem you're attempting to solve. And I agree: tests are fine. I was just visiting the AUVSI test earlier today - an obstacle course for unmanned surface vehicles. But the construction of a test doesn't obviate the need for those research papers... or telling 'practitioners' to go view them. You can't reduce 'wisdom' itself to a test. Those papers contain the whys and hows and wheretofores of prior tests and experiments, letting you know what has failed and what has succeeded and often why... such that you can better avoid running into the same problems your predecessors did, and be more confident of your success where your predecessors succeeded.

Further, the academic types haven't even proven they can rigorously demonstrate the simpler things we've come to accept are net better, such as blocks-vs-goto's outside of speed issues. Why should one trust them on more complex things if they fail at the sample things? Outside of performance/speed, the record of the academics have been dismal in software engineering. If you want to gain trust, you have to walk before you try to run. (This is turning into yet another academics-vs-practitioners fight.) --top

Again, what means 'net better' depends on a definition for 'better' - which, when stated without a particular goal, is just nonsense. What if my goal is to make my code as unreadable and unmaintainable as possible because I hate my employer? And I also remind you that more than 'speed' is well studied: examples include certain forms of safety, various aspects of security, and consistency, certain failure modes common enough to gather attention, etc. If you want your hand-waving MentalMasturbation rants against academics to be received with less than a truckload of salt, you really ought to stop presenting nonsense and start getting your facts straight.

No need for me to handwave, for I have said nothing objectively wrong there. I've already agreed that "micro-rigor" exists; it just has limited use. What the industry lacks is macro-rigor. Academics have a habit of taking some limited aspect or features, and analyzing them to death, creating all kinds of models and maths around those specific narrow aspects. While it may shed light on some things, it often is yet another exercise in micro-rigor, failing to address the over-ignored macro-rigor issues. And/or they may overemphasize their pet micro-rigor experiments at every possible turn, becoming essentially a micro-rigor troll. --top

{That is wrong. Macro aspects of software engineering are obviously also addressed by rigorous science, albeit not necessarily the hard mathematical sciences but mostly by the soft sciences or if it works well by an interdisciplinary approach. I touched this subject during my study years and have otherwise heard of it only in passing, but there are lots of papers out there about this 'macro' topic also. Just google (or citesee) for "social aspects of software-engineering" or "software development processes". For an intro probably this will do:} { LookBeforeYouLeap. -- GunnarZarncke }

You are correct in that work by the likes of Ed Yourdon focus on satisfaction surveys and the factors related to them (language, tools, methodology used, team size, etc.). Regression analysis can say which factors contributed the most to high satisfaction scores. But in many ways this doesn't answer "why". I don't think many of us will find "decisions via regression" a very satisfying approach, especially if PHB's are the ones filling out the satisfaction scores. --top

[EdYourdon is a popular writer, but not really an academic researcher per se. There is a considerable amount of academic work in "soft" computing; see the ACM Digital Library at for plenty of examples, such as]

[Maybe three-quarters of my BSc. & MSc. students (I'm an academic) have done final dissertations in "soft" computing. Unfortunately, "soft" computing lacks either the popular impact, or the academic support, of "hard" computing so it tends to be less well-known among computing practitioners. Almost every university student will have read Codd's classic "A Relational Model for Large Stored Data Banks", but I can't think of any seminal "soft" computing equivalent.]

(Unfortunately, RDBMS were not taught when I was a student. It was still kind of a new technology back then not quite out of its "fad" status. Instead we focused on the lower-levels of database implementation, such as B-trees. --top)

HardToWrite may also apply to explanations. One's first try is probably not the best possible explanation. Good code, good prose, and good explanations usually take time, pondering, feedback, retries, rewrites, and practice. There is no easy way out.
Actually, Science is easy. The problem is that, for an awful lot of people, even the easy things are beyond their understanding.

Most people learn relatively fast if its something they can experiment with (safely) and learn incrementally. For example, gravity's affects in space is not a very intuitive concept to most people. Thus, why the rockets fire perpendicular to the target instead of away from the target is confusing at first. However if exposed to simulations and games that play by the rules, such as perhaps some versions of SpaceWar (video game invented in 1962), it can be made intuitive in a way that the principle clicks.

Part of the "problem" is that most people use experience as their idioms, while scientists tend to use symbols as their idioms. Training material tends to be symbol-oriented instead of experience-oriented because its cheaper to produce it that way. CarlSagansBaloneyDetectionKit suggests a lot of it is either bullshit or MentalMasturbation. --top

View edit of November 26, 2013 or FindPage with title or text search