Fake Industry Canon

(Begin Rant)

Some claim there are industry "canons" without any evidence beyond anecdotes or cherry-picked citations. I'm growing tired of these FakeIndustryCanons. Establish canons with solid evidence and statistically valid samples (random) or don't imply a canon exists (beyond a "soft" anecdotal suggestion). Knock it off! --top

(End Rant)

Out of context, this is reasonable. Taken in its implied context, most of the canon you appear to consider fake seems to either be what introductory SoftwareEngineering and ComputerScience texts explain at length, or what is so foundational in those fields that it's taken as given.

Then do a proper textual survey to show they universally say (and prove) one factor or concept is more important than another. It's not my job to prepare YOUR evidence for YOUR claims. -t

No one said any concept is more important than another. However, some concepts are more recognised or established than others. Some concepts are recognised by almost everyone in SoftwareEngineering and ComputerScience, and others appear to only be recognised by you. If you were an authority in SoftwareEngineering or ComputerScience -- like a Djikstra or Knuth, or even a Yourdon -- that might have some weight. Given that you're not Djikstra, Knuth or Yourdon, your unique-to-you concepts have no weight. Like the rest of us, if you want your new concepts to gain weight, you have to back them up with strong and compelling evidence.

Note, by the way, that Djikstra, Knuth, and even Yourdon became authorities in their respective fields by consistently backing up their ideas and concepts with strong and compelling evidence. You could do the same.

They are topic titles. I don't see a problem. If you wish to classify topics into some kind of "official" versus "non-official", please see PageAnchor topic-disclaimers-01 at NormalizationRepetitionAndFlexibility. (EditHint: move that section here?)

And the rest is blatant ArgumentFromAuthority (or popularity per popularity of author).

How do you think they became authorities, so that you could even allege ArgumentFromAuthority? Why do we respect the writings of Knuth, but less so for the writings of Top?

Arguments should stand on their own merit and logic. I do my best to explain my reasoning. I don't do design suggestion X more than Y because because Dr. Foo said so, but rather because Dr. Foo explained WHY doing X matters more than Y. -t

Do you think your best is good enough?

To you, no. Unfortunately, software engineering (SE) is mostly about WetWare, and WetWare is still an infant science. Software is written for humans first, and machines secondly. This state of affairs isn't my doing, I'm just the messenger. The component on the human body that processes software is called "the brain". Therefore, if we want to optimize software for it's intended use/goal/target, then we must understand this component known as "the brain". -t

You appear to want SE to be about math and machines, making the SovietShoeFactoryPrinciple error. You value "solvability" over utility. It's my opinion that this is your key psychological point of error that leads to you optimize for factors that matter only a little to the end result. -t

And note that academics tend to focus on easy-to-analyze factors over important-but-difficult-to-measure factors BECAUSE they are difficult to measure. If it's easier to study factor X over factor Y, then of course academics are going to study factor X more than factor Y. But that doesn't mean that factor X is more important. Thus, there is an inherent bias in academia. It's not a "fault" of people, but rather just the nature of the economics of science in that we milk the low hanging study fruit before the higher fruit. It's rational allocation of resources, but with the side-effect of measure bias. It's why we know more about rat biology than human biology; but that doesn't mean we consider rats more important.

Therefore, the quantity of mention or study of a given topic is not necessarily proportional to its importance. A "book count" would thus not be a very good source of importance measure. --top

That's an interesting rant, but it -- like most of your arguments -- has no basis in evidence. If you're going to ever achieve any respect for your opinions, you need to back them up with evidence.

Got some?

I'm not the one making bold, contrary, and unsubstantiated assertions here.

Me neither. Maybe it's that pink rabbit in the corner.

This Wiki is full of your contrary and unsubstantiated assertions. With logical arguments and evidence to back them up, some of them might be innovative or valuable, and worthy of recognition. Without logical arguments and evidence to back them up, they're nothing but questionable opinion.

[Let's put a PleaseAddEvidence tag on ideas that might be innovative or valuable if properly supported.]

Keep in mind I'd be happy to use it also.

Excellent. That's how it should be.


What in the world? I thought TopMind was getting more moderate and reasonable (and more modest, in contrast to his alias), but this is like something out of his early years!

There seems to be a fundamental difference with how some of us view "science" and "evidence". Software has an "evidence problem", and I'm not the first to point this out. For example, I did NOT create the topic: DisciplineEnvy. --top

{Curiously, I find it difficult to discern what your view is on "science" and "evidence". In some contexts you appear to demand evidence beyond the norm, and in others you find it acceptable to provide no evidence at all. What it appears is that you want agreement with your opinions, but don't want to work to get it.}

First poster speaking: I'm completely fine with what Top said here. Software development isn't math; it's a soft science like anthropology, history, or military tactics. Haskell tries to turn software development into math, but it has to jump through some pretty complicated hoops to get there; and speaking personally, I've found my knowledge of MrAristotle, NaturalPhilosophy?, and RomanCatholic theology infinitely more useful in programming than my knowledge of advanced math (although algebra -- semi-advanced math -- is absolutely indispensible). I think it's better to live with the soft-science situation than to be consumed with DisciplineEnvy; and I endorse the idea that a given programmer should use the paradigm that he's most comfortable with, which seems to be the main thing Top's saying. I'd add, of course, that self-improvement and engaging with new challenges are important -- but that doesn't mean that everyone has to drop everything and learn Lisp. You can only learn what you already almost know (that's a wiki page, right?) -- evolutionary improvement, like C to C++, C++ to Java and Python, Python to Ruby, C++ to C++11, is probably more useful than attempts to change one's way of thinking all at once.

{Software development isn't math, but it isn't a soft science either. It's a craft, like making furniture. What Top appears to want from us are studies that prove screws are better than nails, whilst we should take his word for it that typical carpenters are confused by lathes.}

Re: "the idea that a given programmer should use the paradigm that he's most comfortable with, which seems to be the main thing Top's saying" -- Not quite. Ideally we'd have productivity studies to decide what technique is more productive in team environments (or at least shared code). But since those are not practical to obtain, team preference is probably the NEXT best approximation/proxy/consolation factor (see ProxyFactor). We generally agree on what an "ideal" study would look like, but the hard part is agreeing on how to score the messier alternatives to ideal studies. -t

Re: "What Top appears to want from us are studies that prove screws are better than nails" -- What are you referring too? Don't we ALL want studies that demonstrate if one IT tool is better than another? But since we are not likely to get such studies, we need proxy (consolation) studies and analysis instead. Some of this will result in relying on weaker forms of evidence, such as personal anecdotes about coder behavior. -t

Re: "whilst we should take his word for it that typical carpenters are confused by lathes." -- No, that is flat wrong. See LetReaderDecideEvidenceAgreement. The quality of results is obviously affected by carpenter skill level factor and it's unrealistic to assume infinite or elite skills from average carpenters. You seem to want to set the default skill level assumption at an unrealistic level. Why should we take YOUR word for it that a high skill level should be the default assumption? You are in the same boat, Bub. I vote to let the reader decide which profile claim fit's their OWN shop rather than keep bickering over whose profile is "right". YOU cannot let it go. -t

I didn't see any reason to get quite that angry in response to that comment -- but then, I'm not a regular. Letting the reader decide seems reasonable, not least since different tools will cut with or against the grain on different tasks. (Haskell, for example, is not a good language in which to write a <strike>word processor</strike> %thing_which_should_not_be_written_in_Haskell%.)

Bracket-posting respondant, good point on software as craft. Some soft sciences are unprovable or have intractable problems collecting data, or are oriented towards moving targets; others are testable but not reducable to physics (linguistics, for example); but software isn't either, since with software the odd thing is that wildly different methodologies can produce equally good or bad results.


CategoryStandards?, CategoryScience


DecemberFourteen


EditText of this page (last edited December 23, 2014) or FindPage with title or text search