As a PDL newbie, and a seasoned Perl user, I can say that I was attracted to PDL because it would really extend my Perl capabilities.  It would give me a way of dealing with matrices easily and efficiently, and it would provide a wealth of power beyond that.  It seems to me that there must be more potential users like me than astrophysicists.  It seems like PDL's strength is that if one knows Perl, and wants to do some linear algebra operations, and maybe even some graphics with this data, then one should definitely consider PDL.

The things that initially concerned me about PDL were (in order):
1. The last release was almost two years ago.
2. I couldn't find an active mailing list, and the archives that I saw only went back to 2004.
3. There didn't seem to be an "unpdl" operation that would turn my pdl data cubes or matrices back into Perl lol's.  I tried PDL because I needed eigenvalues.  I quickly got my eigenvalues, but I didn't know what to do with them, as there were wrapped up in pdl objects.  I looked for the obvious "convert-back-to-perl-list" method and couldn't find it.  I think my initial hack was to stringify, drop the "[]" brackets and split.  Not pretty.
4. There is no debian package to support graphics.  However, compiling from source wasn't too bad.  But to maintain my packaging system integrity, I would have appreciated an uninstall option.

Later discoveries that made (and continue to make) me leery.
1. The opengl code is a mess.  opengl.pd contains loops labeled hack, hack2 and hack3 -- clearly (hopefully) the author did not intend this to be released.
2. The cvs code is pretty bad.  The new eigens function (from ssl -- probably not such a great acronym for "small scientific library") was apparently never tested on a matrix larger than 2x2.  Opengl didn't even compile.  Since I only looked at a small portion of PDL, I must assume that there is a lot more problems where that came from.
3. No definitive plan for a 2.4.3 release -- no list of supported platforms, no list of new features to support, no list of bugs to be fixed for the new release, lots of unfilled bugs (I found several), apparently untested code was checked in, and the unit tests don't provide sufficient coverage.
4. If someone does wish to contribute to PDL, it is hard to get anyone to direct the efforts of enthusiastic newbies.  There's a lot of unharnessed energy out there.

Things I like about PDL.
1. It's Perl!
2. Amazing capabilities and speed.  This is really an awesome package guys.
3. Very easy to install basic module.  Ubuntu/debian pdl package got me PDLing right away.
4.. Compiling and installing PDL 2.4.3 was pretty straightforward (though I am fairly well experienced at installing software).
5. Lot's of documentation.  It wasn't that easy to find, but there's a lot of it, and *most* of what I wanted to know was out there.  Running the PDL demo taught me 90% of what I needed to know about PDL to get my project working fast.

Really there's nothing here that a bit of project management and basic software engineering practices wouldn't cure.  After the cleanup and subsequent release, some new features could be added to make it easier to do general purpose things (like an "unpdl" method and sorting vectors for instance).  This is such a great and innovative piece of software, I hate to see it stagnate like it has been.

--
Bill Coffman

_______________________________________________
Perldl mailing list
[email protected]
http://mailman.jach.hawaii.edu/mailman/listinfo/perldl

Reply via email to