[Python-Dev] Numeric life as I see it

Paul F. Dubois paul at pfdubois.com
Thu Feb 10 02:30:16 CET 2005

Martin v. Löwis wrote:
The PEP should list the options, include criteria
> for selection, and then propose a choice. People can then discuss
> whether the list of options is complete (if not, you need to extend
> it), whether the criteria are agreed (they might be not, and there
> might be difficult consensus, which the PEP should point out), and
> whether the choice is the right one given the criteria (there should
> be no debate about this - everybody should agree factually that the
> choice meets the criteria best).

Unrealistic. I think it is undisputed that there are people with 
irreconcilably different needs. Frankly, we spent many, many months on 
the design of Numeric and it represents a set of compromises already. 
However, the one thing it wouldn't compromise on was speed, even at the 
expense of safety. A community exists that cannot live with this 
compromise. We were told that the Python core could also not live with 
that compromise.

Over the years there was pressure to add safety, convenience, 
flexibility, etc., all sometimes incompatible with speed. Numarray 
represents in some sense the set of compromises in that direction, 
besides its technical innovations. Numeric / Numeric3 represents the 
need for speed camp.

I think it is reasonable to suppose that the need for speed piece can be 
wrapped suitably by the need for safety-flexibility-convenience 
facilities. I believe that hope underlies Travis' plan.

The Nummies (the official set of developers) thought that the Numeric 
code base was an unsuitable basis for further development. There was no 
dissent about that at least. My idea was to get something like what 
Travis is now doing done to replace it. I felt it important to get 
myself out of the picture after five years as the lead developer 
especially since my day job had ceased to involve using Numeric.

However, removing my cork from the bottle released the unresolved 
pressure between these two camps. My plan for transition failed. I 
thought I had consensus on the goal and in fact it wasn't really there. 
Everyone is perfectly good-willed and clever and trying hard to "all 
just get along", but the goal was lost.  Eric Raymond should write a 
book about it called "Bumbled Bazaar".

I hope everyone will still try to achieve that goal. Interoperability of 
all the Numeric-related software (including supporting a 'default' 
plotting package) is required.

Aside: While I am at it, let me reiterate what I have said to the other 
developers privately: there is NO value to inheriting from the array 
class. Don't try to achieve that capability if it costs anything, even 
just effort, because it buys you nothing. Those of you who keep 
remarking on this as if it would simply haven't thought it through IMHO. 
It sounds so intellectually appealing that David Ascher and I had a 
version of Numeric that almost did it before we realized our folly.

More information about the Python-Dev mailing list