Author's Bio: Anton Mamaenko

Sunday, November 7, 2010

Fictitious worlds should not be unrealistic

A recent article on the science of "Battlestar Galactica" on The Register has reminded me on the issue of consistency in fiction. The basic idea of the article is that for 2004 BSG series they hired a science advisor to "to help keep the technology and science real and credible". And this goal is certainly reached, the future world BSG certainly looks more solid without those annoying "photon torpedoes", "death-rays", and "beam-me-up-scotty". But why did it work? How does it cope with the sci-fi universe, where the present science MUST be broken anyways to show distant planets, etc.?

A viable explanation would be that the audience really appreciates when the universe - even a fictious one - is build on a set of simple facts, so there really is no need to use "Deus Ex"-like ploys for every advance in story-line. So what science advisors can do, is to help preserving the logic, and internal consistency of the material world inside the narrative. Basically, to help remove distracting details, and let the main idea shine.

And if we abstract the fiction to any artificially created worlds, why not try, and extend this abstraction to the programming, where each new software is a world of its own? Then the lesson for an "Agile" software developer would be: if you treat your code as a narrative, try to avoid "Deus Ex" solutions. Define consistent set of rules, and reuse them in code. Start with naming convention - try, and finally figure out what do you like more: some_cool_method(...), or SomeCoolMethod(...), so that reader does not need to do it later, concentrating on what Some Cool Method really does!

No comments:

Post a Comment

Search This Blog