Re: Computer Algebra Algorithms lisp vs. C.



Bernard Parisse wrote:
> Jon Harrop wrote:
>> What is "the programming language"?
>
> I mean that you can use the same programming language
> for CAS algorithms than for what is called kernel programming
> in many CAS.

You can, but your code will be orders of magnitude bigger, slower, harder to
use, less maintainable and less future proof. More importantly, the
resulting code will be dependent upon the underlying data structures.

>> If you have a free compiler/interpreter then writing programs in a
>> different language does not make them inaccessible. Indeed, it makes them
>> more accessible.
>
> No, because you can not use them easily inside another program.

Just supply the external program with a string.

> Imagine someone who write a big program with a GUI interface,
> hardware drivers, etc. who needs somewhere say to factorize
> a polynomial or solve a polynomial system.

I can't see why a hardware driver would need to factor polynomials but...

> He chooses C++ as implementation language because that is the
> natural choice given the non-CAS components.

Most people would not choose C++, of course.

> If he has access
> to a C++ CAS library, it is much more accessible for him than
> if he has to exchange data from C++ types to the "host language".

In the general case (most external programs, most external languages) users
will not want to interface to template C++ code.

> The host language is for me mainly a scripting language.

I don't think that statement means anything.

>> So you're saying that the advantage of C++ is that it is the "standard
>> language"?
>
> Not *the* standard language, but *a* standard language.
> Unlike maple language which is only used by maple, mupad language
> by mupad, mathematica language by mathematica, etc.

Yes, exactly. C++ is one of many standard languages. So there is no standard
language, so there is no point in arbitrarily choosing C++ and then calling
it "standard". You might as well choose any language. In which case, choose
the most appropriate language which, in this case, is definitely not C++.

--
Dr Jon D Harrop, Flying Frog Consultancy
http://www.ffconsultancy.com
.



Relevant Pages

  • Re: Steps towards writing a computer algebra system
    ... > computer algebra systems (CAS) such as Mathematica. ... Start by writing code to translate algebraic formulas to some useful ... language, for that matter. ...
    (sci.math.symbolic)
  • Re: Computer Algebra Algorithms lisp vs. C.
    ... >>in many CAS. ... in a non-standard language like maple language might not work ... Moreover, people using standard ... >>Unlike maple language which is only used by maple, ...
    (sci.math.symbolic)
  • Re: CAS and C#
    ... It looks as though the tide is turning to CAS and anything ... written in any language in .NET environment will eventually need to address ... "Scott Allen" wrote: ... > their code running on the server with full trust, indeed, in 1.0 the ...
    (microsoft.public.dotnet.languages.csharp)
  • Re: Computer Algebra Algorithms lisp vs. C.
    ... to tell other C++ users that they can stick to their well-known language and code CAS applications without having to reinvent everything. ... They will, of course, have to reinvent a lot though. ... recommend that programmers choose a more suitable language (e.g. an ML ...
    (sci.math.symbolic)
  • Re: Computer Algebra Algorithms lisp vs. C.
    ... to tell other C++ users that they can stick to their well-known language and code CAS applications without having to reinvent everything. ... language is the bias of the programmer. ...
    (sci.math.symbolic)

Loading