----- 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.