<$BlogRSDUrl$>

Thursday, May 05, 2005

Its tempting to write about Mike Ault's myths paper that appeared in Search Oracle today (registration required), but I won't because others have covered much the same ground elsewhere.

Instead I've been meaning for a while to go back to the scientist thing.

Despite being a part of the OakTable Network, I don't regard what Oracle practitioners usually do as Science. Instead I regard it as Engineering. My Dad who worked with big machines and everything would laugh uproariously at this notion by the way.

here's why. Science to me is the rational process of discovery about subjects (usually the Universe or stuff in it, but almost certainly extensible to human behaviours - the Social Sciences). In theory it goes like this
  • Observe behaviour.

  • Conjecture possible explanation (form a hypothesis).

  • Conjecture possible experiment to disprove hypothesis.

  • Perform experiment.

  • If experiment disproves theory reject hypothesis and go back to stage 2

  • Else go back to stage 3


  • (In practice of course the experiments get repeated several times with twists and generally the old hypothesis is rarely really rejected until its most vocal proponents die, though it maybe amended significantly)

    Its interestingly one of the reasons that I'm not sure string theory counts as science - I'm unaware of testable predictions that it makes, its seems to be more or less a number of different computer simulations of mathematical models of stuff at unmeasurable scales. (I'm longing for someone to correct me here)

    Now there is a case for this type of work sometimes. It is a little bit what lay behind my scripts to dump arbitrary index structures to disk, I maintain that b*tree index structures are always height balanced (not really a great hypothesis since its in the name and the documentation). If there is anyone left who believes they aren't just find me one that isn't.

    Engineering on the other hand I define (and dictionary.com largely agrees) as the application of scientific discoveries and method to practical effect. So the bridge builder relies upon materials science and other physical sciences when designing bridges and as a result generally bridges are robust safe structures, though there are exceptions when something gets overlooked.

    The last thing I think we need as groundwork is my mental definition of the scientific mindset, This mindset has four great attributes

  • its intensely curious

  • Its logical

  • its, if not creative, then imaginitive.

  • it always craves evidence


  • In other words it doesn't necessarily go out to observe behaviour, formulate explanations and test hypotheses. Instead it is inclined to take a similar approach to whatever practical issues it is faced with.

    The child asking why the sky is blue is my classic example of this, She's curious about something, she can imagine that the sky might be say green or yellow, shes pretty sure that there is an explanation that she can understand and when an adult says because it is she isn't satisfied.

    Now it should fall out pretty quickly that what I am saying is that what I consider we as Oracle practioners (or SQLServer or PostGres or Java or whatever product we use) should be doing is adopting the scientific mindset, not necessarily doing the research, but being curious about what principles have been shown to be appropriate to our class of problem, of being imaginitive in how we select tools and technologies to apply those principle, of being strictly pedantically logical in how we design and of always seeking hard, repeatable evidence to justify our solutions. Its not science (its engineering), but it is scientific

    0 Comments
    0 Comments: Post a Comment