On Tue, Mar 24, 2009 at 01:04:51AM -0700, Ben Pfaff wrote:
I agree in principle that it would be nice to be able to develop
for PSPP in more languages than C, and I understand that Guile is
the language that the GNU project has endorsed as an extension
language for all GNU software.
But I wonder whether our users would be better served by choosing
a different extension language. In particular, SPSS supports
Python and R as extension languages. If PSPP were to support one
(or both) of these languages for extension, then our users could
reuse the extensions that they have already written. On the
other hand, if we were to choose Guile, then they would have to
learn an entirely different language (and in practice I think
that they would choose not to do this).
Another approach would be to integrate support for multiple
languages using a tool such as SWIG (http://www.swig.org/), which
supports Guile, Python, R, and other languages.I think it's important to understand the motive for wanting to do this. As I see it, there are three possible motives, which do not necessarily call for the same solutions. The first motive is to enable users to write their own "scripts". The second is to ease development effort. A third possible motive is to increase the user base (which is why I think SPSS chose to integrate R). Python would be a good choice to address the first motive. It's easy for people to pick up quickly, without having to think too hard about the problem. It's also what Spss have chosen to replace thier ancient "macro" facility. Python may also suitable as an extension language for writing high level aspects of the gui, so long as we pitch the interface at the right level. On the other hand, I have doubts about suitability of Python as a tool for writing statistical procedures. Such procedures need to be thought about carefully, and it won't get us anywhere to encourage access to things like covariance matricies and casereaders without due consideration into the manner of their use. I really think Guile is the more appropriate for this purpose. I've only ever looked at swig very briefly, but my experience of "universal adaptors" is that due to their catholic nature, they end up offering only the lowest common denominator of all the components they embrace (look at wxwidgets). This is fine if all you wish to do is offer an alternative interface. But, at least for our second motive, I think we want to realize the optimal power in whatever language we choose. The way Spss has integrated R, looses all the efficiency of Spss, and all the elegence of the R language. If we ever end up integrating R a la Spss, then as I see it, the only reason would be compatibility. I would be interested in investigating better ways to use an R like syntax with Pspp's back end, but I think this would be a long term project requiring considerable research. Just my $0.02 -- PGP Public key ID: 1024D/2DE827B3 fingerprint = 8797 A26D 0854 2EAB 0285 A290 8A67 719C 2DE8 27B3 See http://pgp.mit.edu or any PGP keyserver for public key.
signature.asc
Description: Digital signature
_______________________________________________ pspp-dev mailing list [email protected] http://lists.gnu.org/mailman/listinfo/pspp-dev
