[Distutils] Backwards compatability: opinions?

Greg Ward gward@cnri.reston.va.us
Wed, 10 Mar 1999 14:24:24 -0500


Quoth Konrad Hinsen, on 10 March 1999:
> Keep in mind that our target group includes users who don't care about
> Python. They may simply want to use an application written in Python.
> Most people I know (computational scientists) use Unix systems that
> were set up two to four years ago and then never updated. I am sure
> there are still many systems with Python 1.4 out there.

Absolutely.  For example, my old job was at a scientific lab with a lot
of interest in scripting.  We used MATLAB, relied heavily on Perl, and
dabbled (once, long ago) in Python.  If I login there today:

% python
Python 1.0.3 (Aug 14 1994)
Copyright 1991-1994 Stichting Mathematisch Centrum, Amsterdam
>>>

Blast from the past, anyone?  ;-)

> So my vote is for supporting at least 1.5, and if possible even 1.4.

Seems to me that the three most important language/library features in
1.5 were:
  * packages
  * re and r''
  * class-based exceptions

Of course, those are the three that I use a lot, so I may be biased.
And Distutils relies on all of them.  I could probably hack it so that
re and class-based exceptions are only used under 1.5, but I'm not sure
if I could sweep the heavily "packagized" nature of the Distutils under
the rug.  Would we have to resurrect use of the 'ni' module in the 1.4
case?  Would that be painful?

I think for the initial versions, I'll strive for compatibility with
1.5, 1.5.1, and 1.5.2.  Switching the exception model and how the
Distutils are organized on a high-level (1.5-style packages vs. 'ni')
should be doable without extensive, low-level changes to the code.  That
leaves regular expressions; I'll try to minimize their use with a view
to making them completely optional.  (Eg. if version is 1.4, don't even
do this regex-based sanity check.  If a regex is required to parse some
string, then I'll have to figure out how to do it otherwise.  So far
that's what I've done.)

Any other language features I should be wary of avoiding?  I am willing
to consider supporting 1.4 if it won't be too much trouble, but not in
the initial phases -- we should probably worry about that when it comes
time to make a public release in a few months.

        Greg
-- 
Greg Ward - software developer                    gward@cnri.reston.va.us
Corporation for National Research Initiatives    
1895 Preston White Drive                      voice: +1-703-620-8990 x287
Reston, Virginia, USA  20191-5434               fax: +1-703-620-0913