Thursday, April 26, 2007

Ducking hard questions: Objective vs. Subjective

In the conclusions to his 1974 paper “Structured Programming with go to Statements,” (Computing Surveys, Vol. 6, No. 4) Donald Knuth observes:

One thing we haven’t spelled out clearly, however, is what makes some go to’s bad and others acceptable. The reason is that we’ve really been directing our attention to the wrong issue, to the objective question of go to elimination instead of the important subjective question of program structure. In the words of John Brown [Knuth citation: “In memoriam . . . .”, unpublished note, January 1974], “The act of focusing our mightiest intellectual resources on the elusive goal of go to-less programs has helped us get our minds off all those really tough and possibly unresolvable problems and issues with which today’s professional programmer would other have to grapple.”

This is a useful and concrete reminder that a fixating on objective, answerable questions can miss the point. There is a certain delight in framing an objective question: it’s elegant, precise, and one can tell when it’s been answered. Some truly important questions, though, don’t lend themselves to objective formulations. This may be because they pertain to complex concepts which have so many interlocking variables that they be reduced to an intelligible logical form, and/or because they refer to notions that are ambiguous or contested. (I suspect that these two conditions, non-linear complexity and ambiguity, are related through our inability to fit the whole of a big question into a single brain.)

No comments: