Re: languages for CAS .. was: Re: Which is the best CAS



In article <4A10F1D4.30700@xxxxxxxxxxxxxxx>,
Richard Fateman <fateman@xxxxxxxxxxxxxxx> wrote:
Dave wrote:
Francogrex wrote:

I don't get your argument, your post is not very consistent, since if
you're going from the premise of learning a CAS and a programming
language at the same time, both Axiom and Maxima (or Macsyma) are
based on "common lisp", a language a lot more advanced in many ways
(not only compilation and speed) than python and actually any other
language (even C languages)...

Like it or not, python is in much wider use than lisp. In fact, "common
lisp" is not very common at all.

In monster.com in USA, there are 10 jobs listed for Lisp, 263 for
COBOL, 611 for python. 3,095 for C++ 2532 for C#, 1950 for visual
basic, 1175 for PHP, 4740 for Java.

At one time Pascal was considered a hot language. 25 jobs now.

Lisp has outlasted quite a few languages. It is called Common Lisp
because it was motivated by finding a common ground for otherwise
distinct Lisp dialects from MIT, Stanford, Xerox/BBN, and a few other
places.


A search of http://jobsearch.monster.co.uk/ for jobs with 'python'
generates 89. For lisp it generates 0, for Mathematica it generates 1.

How many of the python jobs are deathly dull commercial web hosting?
I suspect the Lisp jobs are, on average, far more interesting.




Most non-trivial uses of CAS's will require programming.

I don't see why. But I suppose you could define non-trivial to mean
"requires programming".

I see an
advantage when the programming is based on a widely used language.

Then the advantage should be Java, not Python.


The user-level language in Maxima is "based on" Algol 60, which is
"based on" mathematical notation.

Sorry, Algol 60 is only vaguely based on mathematical
notation. What a Flexowriter could produce also had
a large effect on the language.

A very MAJOR part of the usefulness of "mathematical
notation" is that expressions can be written compactly and
in an easy to read format. Both of these are important;
the lack of a compact notation hindered mathematical
development at all stages. None of the languages cited
meets the requirements.

The computer can read whatever humans can write, but
not the other way. A modern computer is a superfast
subimbecile; it is not going to reason, but only to
do exactly what it is told.

Lisp has virtually all capabilities, but does not meet
the standard of compactness and easy readability. It
does have a means of providing multiresult functions,
but not as (a, b, c) = f(x, y), which should have been
in all languages after FORTRAN. I do not mean that
(a, b, c) is a vector or a struct, but that (in this case)
three outputs of the appropriate types are produced
somewhere, and the optimizer should decide where and
when to put them.

We also need a good macro language, so that a mathematician
can define an expression as a macro. For example, in using
an assembler language, we might want to have an overloaded
operator macro x = y - z, which is translated into the
appropriate code, using the types but with type override.
While machine independence is in general a good idea, it is
very expensive at times, and the user might need to get at
machine instructions, or give directions to the compiler.
I myself have made use of "ignoring" types.
--
This address is for information only. I do not claim that these views
are those of the Statistics Department or of Purdue University.
Herman Rubin, Department of Statistics, Purdue University
hrubin@xxxxxxxxxxxxxxx Phone: (765)494-6054 FAX: (765)494-0558
.



Relevant Pages

  • Re: Computer Algebra Algorithms
    ... If you want to learn CAS, learn lisp because that is what the ... The parser could be written in C or any other language. ... I would consider that such a minor aspect of a programming ... generally prefer righting there numeric algorithms in Maple and MATLAB ...
    (sci.math.symbolic)
  • Why should I care about Lisp and Scheme?
    ... Foreword to the book "Essentials of Programming Languages". ... It's an imaginary conversation between a newbie and a hacker. ... Why should I care about Lisp and Scheme? ... language, the result would be a Lisp interpreter. ...
    (comp.lang.scheme)
  • Re: F#
    ... Why did they take Lisp? ... properties of the language are only a part of the picture. ... If the favored programming style of a certain language ... Knowing a success story only tells me that other people ...
    (comp.lang.functional)
  • [ANN] 2nd European Lisp & Scheme Workshop
    ... Pascal Costanza, Programming Technology Lab, Vrije Universiteit Brussel ... Lisp has a tradition of providing a fruitful basis for language design ... and suggestions for breakout groups that discuss the opportunities Lisp ...
    (comp.lang.lisp)
  • Re: Opinions on intro lisp books
    ... But Lisp is a little different, ... Some languages support one style of programming better than they ... Even if that weren't the case, I'm not sure that a language being a ... I don't believe that learning to program in CL requires more theory ...
    (comp.lang.lisp)