First off I should like to make it clear that I believe in programming
plans so I'm not really sure if I should pursue this, but oh, well,
this is a discussion list, right?

> If most or even some programming is done by simple methods, with
> the observed behavioral differences being mostly
> a product of the enviroment, then we ought to observe the following:
> 
> For some/most problems, there is no difference between experienced
> and novice programmers - 
> there's no knowledge that the ant carries from beach to beach.[..]

I was trying to describe a plausible alternative to following an
internal beach consisting of a mass of plans.  (A) this does not rule
out that the person *has* a library of plans, but it calls into
question the extent of how much these are actually used.  (B) this
internal beach can still consist of myriad rules without invoking the
notion of plan representations, so I did not rule out a novice-expert
difference that consisted of a large rule base (your own work is widely
cited as an argument for this).

Lets see if I can clarify this model quickly.

 Internal plan based model:
    (1) plans are reconstructed internally and reflect the external
        structure of the program
    (2) programming procedures operate over these internal plans
    (3) these procedures make use of deep semantics to make inferences

 Alternate plan based model:
    (1) external plans are incrementally constructed and are not
        reflected well in the internal mental representations of the
        programmer
    (2) programming procedures operate primarily over these external
        plans (accretion, modification, restructuring, etc.).
    (3) these procedures tend to make shallow use of deep semantics
        based on an extensive rule base of local transformations

Both are plan-based but one assumes the primary locus of plan
representation is external and that expertise is located in skill
or rule based reasoning rather than knowledge based inferencing.

> Furthermore, in most of the experimental studies, programmers were 
> allowed little access
> to external documentation, so it isn't just an issue of an index to
> external memory.

Which is proof positive that they also carry plans, absolutely.  I
think the verbal protocol evidence is also strong that plans are
used to reason internally---even moreso than the cloze tests.  Still, I
don't think I was splitting hairs when I asked about controlling task
demands in experiments:  its a valid question as to whether programmers
use plans in the same way when the program and doc are available.

I might point out that in your own IJCAI'75 paper you proposed a model
in which an external goal stack partly replaces the internal goal stack
of the programmer (this model predates the Parsing-Gnisrap model by a
decade).  In an analogous fashion I think its a valid question as to
whether external plans replace internal plans in real programming not
artificially hindered by removing access to the normal information.  If
an external goal stack, why not an external plan?  If plans are at
least partly external, how important are the internal ones?

> There are definitely situations in which programmers do a lot of 
> "rule based futzing" until they've got
> something to work, but these, I claim, are rare cases that tend to
> get disproportionately remembered.
> They occur when more global guidance fails. Most of the time, the
> programmer uses global knowledge -
> a schema or plan - to avoid a lot of local searching among
> transformation rules, just the opposite of the alternative 
> Andrew Wallenstein offers.

This is in line with your top-down comprehension line of work:  it
is a good objection and probably the answer I was implicitly looking
for in this increasingly strained line of questioning.  Maybe in this
argument you've answered Derek M. Jones' original question of where
the evidence is that programmes actually use plans:  its not just
rule-based futzing.

>[..]  In fact, the higher level plan is necessary to know what to improve; 

Necessary, or just sufficient?

Andrew

- Automatic footer for [EMAIL PROTECTED] ----------------------------------
To unsubscribe from this list, mail [EMAIL PROTECTED]  unsubscribe discuss
To join the announcements list, mail [EMAIL PROTECTED] subscribe announce
To receive a help file, mail [EMAIL PROTECTED]         help
This list is archived at http://www.mail-archive.com/discuss%40ppig.org/
If you have any problems or questions, please mail [EMAIL PROTECTED]

Reply via email to