Precedent for use of =

Peter S. Shenkin peters at cubsvax.UUCP
Fri Jun 20 05:25:07 AEST 1986


In article <brl-smok.1331> kelem at aero2.arpa writes:
>There is a 429 year precedent of using the symbol = for equality.
>
>The original rationale for using = for equality was given by Robert Recorde
>in 1557.
>The explanation was "... to auoide the tediouse repetition of these woordes:
>is equalle to: I will sette as I doe often in woorke vse,
>a paire of paralleles, or Gemowe lines of one lengthe, thus:
>=, {a very long equals sign} bicause noe .2. thynges, can be moare equalle."
....
>1.  There are over four centuries of mathematics using = for equals.
>Using = to mean assignment is begging for confusing code.
>2.  Assignment is a relatively new concept and a new notation is warrented.
>":=" has enough precedent to serve this purpose.

Assignment is also ancient in mathematics.  It is usually invoked in formal
writing by a phrase such as "Let z equal x/y".  In informal writing, such
as Recorde's "worke vse," it occurs as "z = x/y".  What's recent
is the need to distinguish between a statement of equivalence (C's "==")
and the active process of giving a symbol a value (C's "=").  Presumably
this came about when mathematicians had to start talking to machines too
stupid to be able to infer the distinction from context, instead of to
other mathematicians.  In any case, I think it's inaccurate to state that "="
traditionally means only one of those things;  certainly the spelled-out
version, "equal," is used for both meanings in formal mathematics.  

This all started with the observation that it's easy to say "if( a = b )"
when one means "if( a == b )".  Most of us probably do this now and then,
but it's not really that big a deal, is it?  (That is, it's one of the things
we look for when debugging, right?)

Peter S. Shenkin	 Columbia Univ. Biology Dept., NY, NY  10027
{philabs,rna}!cubsvax!peters		cubsvax!peters at columbia.ARPA



More information about the Comp.lang.c mailing list