整数の除算の返り値の話 The History of Python -The Problem with Integer Division-

Again, all of this is an issue because Python doesn’t coerce arguments automatically to some declared type. Passing an invalid argument, for example a string, is generally caught quickly because few operations accept mixed string/numeric operands (the exception being multiplication).However, passing an integer can cause an answer that is close to the correct answer but has a much larger error – which is difficult to debug or even notice.

http://python-history.blogspot.com/2009/03/problem-with-integer-division.html

Pythonのintとlongの発展、それから整数の除算の話。
Pythonのような動的言語では、関数呼び出しの際に値を自動でキャストしたりしないから”正しく”実行され意図しない結果が返ることがあり、それによるバグは見つけづらくデバッグしづらい。文字列オブジェクトと整数のような場合は問題が起こりにくいが、integerとfloatの組み合わせでは気づき難い。だからこれはデザインのバグだ。だそうだ。
初期のPythonはintとlong同士、intとfloat同士で足し算すらできなかったってのは驚いた。使いづらいだろうなあ。

PEP 238 Changing the Division Operator
日本語訳