From: jake@skatter.usask.ca
Subject: Re: Serious Programming (was: Re: MAPLE resources reccomendation)
Organization: University of Saskatchewan
Date: Tue, 17 Nov 1992 23:22:39 GMT

From article <1eb8j4INNld2@agate.berkeley.edu>, by fateman@peoplesparc.Berkeley.EDU (Richard Fateman):
> In article <BxuxC6.Dxz@news.cso.uiuc.edu> Richard J. Gaylord <gaylord@ux1.cso.uiuc.edu> writes:
> 
>>
>>the basic question iswhat do you want out of your cas? if you are going
>>to do serious programming,  mathematica  is totally in front of the
>>others.
> 
> I think that if you are doing serious programming, the mandatory use of
> Mathematica's built-in interpreted user language is a serious handicap
> for many purposes.  It's ok for fiddling around, but if it were really
> good, then there wouldn't be 400,000 (or more) lines of C in the
> system.  Most add-ons written in the Mathematica language have
> serious efficiency problems, and some are outright crocks that break
> when stressed.
> 
> While I am not a fan of the Maple syntax, it is certainly
> possible to write serious programs in it, as demonstrated by the Maple
> group's having written most of Maple in it.  It has been shown on this
> newsgroup that Maple has similar functional-programming style
> features, and is fast.
>

Having recently discovered (?) and read with some interest Mr. Fateman's
review of the Mathematica system, and now this particular comment, I begin
to wonder if any system, anywhere in whatever stage of development, can
be said to embody a syntax of which Mr. Fateman would be a "fan".
This is not intended to abuse Mr. Fateman, I rather am seriously interested
in these issues and would like to see him state exactly what, in his opinion,
the ideal design trade-offs in a CAS are. 

It is quite possible that he has done so in a forum of which I am ignorant,
and if so,  I would appreciate knowing. How one goes about constructing such
systems is a topic of my interest every since I first came into contact
with these systems.
 
> 
> A system built on top of Common Lisp (like Macsyma, Reduce, Weyl, 
> Mock-MMa) can in principle provide all those (very serious) features.
> Some of them, like the Common Lisp Object System, are not available
> in Mathematica, and, some might argue, represent a serious deficiency.
> The lack of any appropriate structure for maintaining
> assumptions is another major deficiency in Mathematica's design.
>

This is a good point. (IMHO) In an article in the Mathematica Journal, it was
(reportedly) said by Mr. Wolfram that the problem is in organizing and
propagating through all the various bits of information.  However, it
seems to this poster that all of the other systems seem to have been
able to deal effectively, with perhaps varying degrees of success, with this
problem.
 
> Most implementations of Common Lisp allow for links to other languages
> such as calls to Fortran or C, if that is "serious" also.  
> 
> So for serious programming, I'd put Mathematica near the end of the list.
> For non-serious programming, it is much more appealing, especially
> if you can exercise some restraint in how much of it you use, and you
> are able to avoid questions of scope, evaluation, and limited data
> structure choices.
> 
> 
> 
> 
> 
> -- 
> Richard J. Fateman
> fateman@cs.berkeley.edu   510 642-1879


jake


--
Jason C. Breckenridge 				jake@skatter.usask.ca

Sometimes the world is a mighty fine place to be dead to.