>>>>> "TS" == Tolkin, Steve <[EMAIL PROTECTED]> writes:

  TS> Rule of Representation: Fold knowledge into data, so program logic can
  TS> be stupid and robust.  Even the simplest procedural logic is hard for
  TS> humans to verify, but quite complex data structures are fairly easy to
  TS> model and reason about. ...  Data is more tractable than program logic.
  TS> It follows that where you see a choice between complexity in data
  TS> structures and complexity in code, choose the former. More: in evolving
  TS> a design, you should actively seek ways to shift complexity from code to
  TS> data.

the problem is that you can't sweep complexity under the rug. overly
complex data structures start to approach becoming languages
themselves. and the code to support them starts to look more like
interpreters. this typically happens when you need to make many logic flow
decisions based on the data. it is like the space/time tradeoff in
algorithms, you can gain in one at the expense of the other. rarely do
you find a solution which gains in both. 

  TS> Another related idea is this: "To reuse code you have to change the
  TS> data" (my paraphrase of a quote in
  TS> http://groups.google.com/group/comp.object/browse_frm/thread/2ebcb9c6cf8
  TS> 6bf9f/318ede5cf4a01220?tvc=1&q=%22in+data%22+%22in+code%22+invariant+OR+
  TS> invariants+OR+mellor&hl=en#318ede5cf4a01220 

  TS> The difference is that I am trying to find a quote that focuses on
  TS> the benefits of using data in a special way, as "control data", to
  TS> determine the specific execution path taken by the code.

well you know my view, it is not a great quote and it can be easily
reversed which doesn't help it much. i have seen complexity at all
levels and you can't escape it totally.

uri

-- 
Uri Guttman  ------  [EMAIL PROTECTED]  -------- http://www.stemsystems.com
--Perl Consulting, Stem Development, Systems Architecture, Design and Coding-
Search or Offer Perl Jobs  ----------------------------  http://jobs.perl.org
 
_______________________________________________
Boston-pm mailing list
[email protected]
http://mail.pm.org/mailman/listinfo/boston-pm

Reply via email to