You need to get some of them to the point of
understanding that they
need to set the values of the variavbles BEFORE they do calculations
based on them. Yes, I am talking about otherwise fully functional
intelligent adults, not college administrators.
This is actually a very interesting point. There are a few languages
(METAFONT comes to mind) which are sufficiently declarative that this
isn't true, or at least isn't entirely true.
I suspect that there is a tendency - doubtless stronger in some people
than others - to think declaratively. This is reinforced by the way
many languages use syntax for assignment that looks more like a
declaration of fact than a statement of action to be taken; interpreted
declaratively, it makes sense to think that order doesn't matter.
Pascal kinda-sorta tries to deal with this by using := rather than =.
APL gets it much righter with its left-arrow operator. From a
psychological point of view, it's a pity more languages don't use <-
for assignment, or put the value first and use ->, or some such. (This
is one respect in which Lisp wins, with setq - of course, the mere
existence of setq throws functional-programming wonks into a tizzy.)
Indeed. I count myself lucky I had no clearly-defined first system;
when I first started actually using computers, I learnt two or three,
fairly drastically different, at more or less the same time.
/~\ The ASCII Mouse
\ / Ribbon Campaign
X Against HTML mouse at
rodents-montreal.org
/ \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B