In a previous paper the authors reported that it was easier for non-programmers to learn to use nested conditional constructions than jumping, or branch-to-label, constructions; however, as only single situations were studied, the conclusions were necessarily restricted. The present study extends the comparison to the more general case where nesting requires “scope markers” to disambiguate the syntax. The results showed that if the scope markers were simply the begin and end of ALGOL 60 (abbreviated NEST-BE) then the advantage of nesting over jumping was weakened; but if the scope markers carried redundant information about the conditional tested (NEST-INE) performance was excellent, particularly at debugging. It seems necessary to distinguish sequence information in a program, which describes the order in which things are done, from taxon information, which describes the conditions under which a given action is performed. Conventional programming languages obscure the taxon information. The advantage of nesting over jumping, we speculate, is in clarifying the sequence information by redundant re-coding in spatial terms; the added advantage of NEST-INE over NEST-BE is that it clarifies the taxon information. It is because debugging requires taxon information that NEST-INE is so much superior. On this view one would expect that in decision table and production system languages, where the taxon information is explicit but the sequence information is obscured, the reverse phenomena should occur. Because debugging requires sequence information as well as taxon information, a device that clarified the sequence would greatly improve such languages.
[1]
P. Wright,et al.
Written information: Some alternatives to prose for expressing the outcomes of complex contingencies.
,
1973
.
[2]
Randall Davis,et al.
An overview of production systems
,
1975
.
[3]
Lance A. Miller.
Programming by Non-Programmers
,
1974,
Int. J. Man Mach. Stud..
[4]
Edsger W. Dijkstra,et al.
Letters to the editor: go to statement considered harmful
,
1968,
CACM.
[5]
T. R. G. Green,et al.
Conditional program statements and their comprehensibility to professional programmers
,
1977
.
[6]
T. R. G. Green.
Computer translation with paired grammars
,
1975
.
[7]
John Gannon.
An experiment for the evaluation of language features
,
1976
.