Precedent for use of =
Ed Nather
nather at ut-sally.UUCP
Fri Jun 20 10:06:44 AEST 1986
In one important sense, the use of "=" as an assignment operator is
extremely unfortunate (though widespread) because, historically, it
meant "equality" in the mathematical sense. Thus the phrase
i = i + 1
is impossible unless i has the value "infinity". We have come to
understand this, however, to mean "increase the value of i by 1"
so the sense of "equality" has been replaced by the time-dependent
assignment process.
Equality has bad connotations in many ways: it implied, at one time,
a "universal, timeless" sort of equivalence, and many mathematicians
came to think of things being "eternally equal" -- in the sense that
time-dependence did not enter. Yet the essential character of a
computer (when it is up) is change with time. So even the use of
"==" for equality isn't the same: the phrase
if(i == 1)
says "if i CURRENTLY has the value 1, then ..." which has the implication
of change, or at least potential change, built in.
Early Algol used a left-pointing arrow as the assignment operator, but that
was not included in the ASCII character set; that decision may be one of
the costliest technical blunders of our time.
--
Ed Nather
Astronomy Dept, U of Texas @ Austin
{allegra,ihnp4}!{noao,ut-sally}!utastro!nather
nather at astro.AS.UTEXAS.EDU
More information about the Comp.lang.c
mailing list