[net.cse] Can teaching programming, teach us about writing software?

eugene@ames.UUCP (Eugene Miya) (08/07/84)

[Line eater thought: Is RPN less user friendly than infix?]

Let's stimulate some discussion.

Several people I know (incluing myself) have mentioned the obvious
similarity between teaching a person to program [or other activity]
and software development [the actual writing of programs].
It seems to be a somewhat tabu subject.  My compiler instructor, many
years ago, did not want to make the "programming people, programming computers"
comparison because of "obvious 1984ish overtones."

There is obvious arthopomorthism.  Recently, I received a TR from Waterloo
on "Arthopomorthic Programming" as a means of possible parallel processing
in the future.  Anthropomorthism appears in many other places: we
make analogies between network protcols and phone conversation, games
like "real life," and so on.  I do not wish to establish too many
analogies [Analogies Considered Harmful, 1983]. Back to programming.

Some similarities appear immediately: "programming by stepwise refinement"
is very close to behaviorism's "shaping" and "successive approximation
to behavior."   Differences appear: the "non-determinacy of human behavior"
differences in memory [I know some people would argue the brain has
a memory hierarchy, but I wonder about the consequences of "unlimited"
computer storage].

I believe we might learn something useful for both computer science education
and in terms of improving writing programs.  The consequences might be
akin the RLW's SIGPLAN paper of the Consequences of One's First's programming
language.

--eugene miya
  NASA Ames. Res. Ctr.
  {hplabs,hao,dual}!ames!aurora!eugene
  emiya@ames-vmsb.ARPA