This is the mail archive of the gsl-discuss@sourceware.cygnus.com mailing list for the GSL project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: The Plan


Sorry about the long delay in responding to Jerry's well-thought-out note
(far more well thought out than this reply), but I checked the dates and 
I am glad to see that I _am_ within the month!

I actually like C++, have written a fair bit of code in C++, and am
completely sympathetic to the drive to redesign the GSL with a more
sophisticated framework. I like C++, but I don't really seem to have the
knack for it.  I'm forever over- or under- designing my classes, and I
always end up rewriting a lot more code than I should.  I don't really
blame this on C++, for the fault dear Brutus...

Nonetheless, Mark asked us all to say what we "actually" use, and in my
day-to-day work, I've had a lot more success with C code, or C code
stitched together with scripting languages: mostly Perl (which I like) and
IDL (which I hate).  Actually, a lot of my work is pure scripting, but
that gets away from the issue at hand.

The vision I had for GSL was a "Gnumerical recipes", and I must say that
to their great credit, Brian and Jerry have really taken it well beyond
that. Nonetheless, and somewhat to my embarrassment, when I actually use
GSL in my projects, I often do so in a way that is not a lot more
sophisticated than cutting and pasting.  That is, I bend GSL to fit the
structure of whatever project I am working on.  Sometimes I do this in a
clean way that permits me to easily import updated versions of the
software, and sometimes it is literally cutting and pasting.  I like being
able to copy a few files over from GSL, and to use them in an application
which stands alone (and can be freely distributed!) without requiring that
the user of my small package first build all of GSL as a single monolithic
package.

By the way, I completely agree with the comments on linear algebra. To do
it right in C is virtually impossible.  To do it right requires C++, but
even then is a monumental task, arguably beyond the scope of GSL. Of
course, it's still nice to have some of the basics coded up. Eigenvectors
and eigenvalues are generically useful things to know about a matrix;
sometimes, you just want to know what they are for a pedestrian matrix
that doesn't require iterative parallel preconditioning. Numerical Recipes
is successful even when it is not optimal because it at least provides a
tangible place to start.

In fact, I don't think there is anything in "The Big Picture" that I
substantially disagree with.  But, when the ultimate "swan" of a numerical
C++ package is developed, say five years from now, I'll likely still be
cutting and pasting C code from the original frozen "chicken" that may
someday be known as GSL 1.0;  I'm not proud of that, but I suspect I
won't be alone in this barbarian practice.  Hey, at least I'm not
writing Fortran.

regards,
jt

On Fri, 20 Aug 1999, Gerard Jungman wrote:

] 
] Brian and I had some discussion this week about The Big Picture.
] The issues are the following:
]
] [...]
] 
] That's all folks.
] 
] 
] -- 
] G. Jungman
] 

---------------------------------------------
James Theiler                     jt@lanl.gov
MS-D436, NIS-2, LANL        tel: 505/665-5682
Los Alamos, NM 87545        fax: 505/665-4414
----- Space and Remote Sensing Sciences -----







Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]