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