[Pharo-project] Pharo and Astronomy?
bschwab at anest.ufl.edu
Fri Nov 5 06:57:07 CET 2010
I don't have any direct experience with astronomy, but we no doubt share some requirements. I started purging Numerical Recipes from my arsenal long ago, in part over licensing and mostly because so much of the code suffers from Fortran-confusion-syndrome. What do I mean by that? Referring to their C book, look at their theoretical development of the Fourier Transform (kinda nicely done), its very natural use of zero based offsets in the theory; note the unit offset code. Take in the early section in which they attempt to "free" the reader "from the zero based thinking that C encourages, but does not require." Who did they think they were going to fool with that nonsense? They had Fortran code and did not want to change it - nothing more.
GSL is not too much better, but they have a working Levenberg-Marquardt fit. Squeak's lack of callbacks haunts us here. So far, I have gotten it to run by writing C functions for the model functions of interest to me. GSL seems to almost randomly require or ignore (often at the wrong times) use of their vectors and matrices. They have good Fourier and Wavelet transforms. Squeak/Pharo do not have a Double Array class. I have gotten around that, but so far at some cost to robustness; I have described many double* arguments void* to allow FFI to make the calls.
The biggest problem with GSL is the license. Do you have a strategy for releasing code that links to it? I am perfectly willing to have others use my code. I would prefer that they be able to make money if they wish. I will not be told that I cannot make money from it. A recent thread contains a suggestion for using a "GPL-compatible" license. Any ideas?
Didier Bessert has been kind enough to release his code under MIT. To be blunt, I didn't buy the book originally because I was not enamored with the idea of doing numerics in Smalltalk (most/some of it belongs in C for speed), and his selection of topics is not a very good match to my interests. However, it might be worth considering as a way to avoid GPL code.
For plotting, I have been using PLplot. You will find many astronomers hanging around PLplot.
From: pharo-project-bounces at lists.gforge.inria.fr [pharo-project-bounces at lists.gforge.inria.fr] On Behalf Of Alexandre Bergel [alexandre at bergel.eu]
Sent: Thursday, November 04, 2010 3:14 PM
To: Pharo Development
Subject: [Pharo-project] Pharo and Astronomy?
I am looking for any experience in using Pharo to develop software for Astronomy. Especially regarding interoperability with Python, using Mathematical libraries (www.nr.com, www.gnu.org/software/gsl, matplotlib.sourceforge.net/gallery.html)
Alexandre Bergel http://www.bergel.eu
More information about the Pharo-project