----- Original Message -----
From: "Paul Prescod" <paulp / ActiveState.com>
> The first is that the rules are just non-intuitive to people schooled in
> traditional algebra. Once you get to high school you are probably taught
> that "remainder division" is something for children. "Real" division is
> the "real thing." And then when you get to university you are taught
> about "floor division" which is really the same as "remainder" division.
> But university professors usually use explicit notation for floor
> division so using the float division operator is confusing even for this
> crowd. Go ask your average high school or university graduate what 5/2
> is without giving them some special context and see what they say.

Explicit notation is a good idea. Eiffel has two division operators.  The /
operator always returns a floating point number.  The // operator performs
floor division:

int / real => real
real / int => real
int / int => real

int // int => int

Eiffel is mainly used for business programming, rather than
systems/technical programming, so those definitions suit the average Eiffel
programmer.  Also, Eiffel is strongly typed so the compiler catches those
times when you use / when you really mean //.

Cheers,
    Nat.