2.3.1 Python

The trial was conducted using Python 2.2.1 which, at the time, was the latest stable release. This was built from source for Solaris 5.7 by Charles Wiles.

At the time of writing, Python's division behaviour is changing. The current default is C-like: 1/3 returns 0, whereas 1.0/3 returns a floating-point approximation of one-third (i.e. 0.3333333...). However when the Python version number reaches 3.0 it is its maintainer's intention to change the division operator to behave more intuitively from a mathematical point of view: 1/3 will return the floating-point approximation. The old behaviour will still be available using the // operator.

The new division behaviour is clearly more intuitive to physics students, although it does hide some of the details of the internal representation of numbers. It was decided that, as this was going to become the default behaviour anyway and would certainly cause less confusion, the new behaviour would be the default behaviour on the trial system. All programs run through IDLEfork (see below) are passed the -Qnew flag, which implements the new division operator.