I (almost) do not code C++ myself, probably 99% of my code is C-style, but 
I'm using a C++ compiler, that way I can link to the C++ standard template 
library and benefit of features like operator overload. Doing so, I do not 
have screens of error messages.

Le vendredi 22 janvier 2021 à 15:07:51 UTC+1, dim...@gmail.com a écrit :

> On Thu, Jan 21, 2021 at 8:04 PM parisse <bernard...@ujf-grenoble.fr> 
> wrote:
> >
> > Well, searching for "lisp infix notation" is not very convincing (unless 
> I missed something?), compared to built-in infix support. You might prefer 
> Lisp to C/C++, it's your choice, but I don't see any objective reason that 
> one should stay away from C/C++. And Giac is a proof that one can actually 
> write a CAS in C/C++, that compares very well with the Lisp-based CAS 
> Maxima.
>
> Maxima is ~40 years old with a bit of work done since then, but the
> core is that old, as far as I know:
> https://en.wikipedia.org/wiki/Macsyma
>
> As for staying away from C++, most people who might be trying to do
> something with supposedly state of the art library like boost,
> would run away screaming, closely followed by 100 screens of error 
> messages :-)
> Or, now mostly gone (?), iterator_traits (my closest encounter with
> C++, contributing to CGAL, 20 years ago, where these had to be
> generated by a script for some classes, otherwise compilers kept
> crashing...)
>
>
>
>
>
> > Le jeudi 21 janvier 2021 à 18:07:14 UTC+1, dim...@gmail.com a écrit :
> >>
> >> On Wed, Jan 20, 2021 at 7:13 PM parisse <bernard...@ujf-grenoble.fr> 
> wrote:
> >> >
> >> > As the author of a CAS, I can state that you need much more than 2 
> weeks to learn a programming language to make a CAS, and much much more if 
> you want to be fast. Life is short, therefore choose your programming 
> language carefully! I don't regret my choice for C (+ C++ STL and operator 
> redefinition) made 20 years ago, because C can interact with a lot of 
> languages (including compilation to Javascript). If I had to choose today, 
> I would perhaps choose Julia. Not Python, it's much too slow. I don't know 
> for Lisp speed, but it's not a language I would choose anyway, I like to 
> write e.g. a+b*c when I do algebraic computations in my source code.
> >>
> >> There are macro packages for infix maths in Common Lisp, so this by no
> >> means should be a deal-breaker for anyone.
> >>
> >> Needless to say, C++ has its own can of worms, which anyone who tried
> >> to used it might easily produce, as a reason to stay
> >> away from it.
> >>
> >> >
> >> > Le mercredi 20 janvier 2021 à 19:47:01 UTC+1, rjf a écrit :
> >> >>
> >> >> I think you have to figure that there is a difference in 
> productivity of people who just learned Python in high school and would 
> really like to write a computer algebra system
> >> >> versus people who know more mathematics, are comfortable spending 2 
> weeks learning lisp, spending ?? (weeks? months?) studying the state of the 
> art in
> >> >> computer algebra systems as evolved over 60 years, and want to 
> contribute to advancing the art (rather than re-programming the easy stuff).
> >> >> I am under the impression that learning python is a reasonable 
> stepping stone to learning lisp.
> >> >>
> >> >> As far as checking results for various systems, there is a category 
> of CAS bugs that are syistem independent.
> >> >> That is, they occur in many systems! Sometimes they depend on 
> secretly dividing by zero, or doing something
> >> >> that is invalid at a singularity. So "Maple and Mathematica and ... 
> all agree" does not mean they are right!
> >> >>
> >> >> I think my essential point previously is that rewriting easy stuff 
> (in a different language) typically fails to push the frontier.
> >> >>
> >> >>
> >> >>
> >> >> On Wednesday, January 20, 2021 at 5:54:51 AM UTC-8 kcrisman wrote:
> >> >>>>
> >> >>>>
> >> >>>> As to the question of replacing backends, there is already a 
> ticket (which I cannot find right now, my apologies) which started the 
> process of seeing what doctests would fail if we went to Sympy as default. 
> Presumably something similar could be done with this engine (I don't know 
> if it is more for low-level symbolics or also things like integration).
> >> >>>
> >> >>>
> >> >>> In particular, the (very minimal) documentation (really an API is 
> all) makes it seems more a replacement for things like Ginac (already in 
> C++), not Maxima et al. I don't know if that would provide a noticeable 
> speedup per se, though the SageManifolds ticket mentioned parallelization 
> so perhaps it is better suited for that?
> >> >
> >> > --
> >> > You received this message because you are subscribed to the Google 
> Groups "sage-devel" group.
> >> > To unsubscribe from this group and stop receiving emails from it, 
> send an email to sage-devel+...@googlegroups.com.
> >> > To view this discussion on the web visit 
> https://groups.google.com/d/msgid/sage-devel/879dd941-95a0-4f2f-b5ac-96f60439f80dn%40googlegroups.com
> .
> >
> > --
> > You received this message because you are subscribed to the Google 
> Groups "sage-devel" group.
> > To unsubscribe from this group and stop receiving emails from it, send 
> an email to sage-devel+...@googlegroups.com.
> > To view this discussion on the web visit 
> https://groups.google.com/d/msgid/sage-devel/53e6e905-27ec-4545-a2ef-bca1eb01029cn%40googlegroups.com
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sage-devel/a2877aca-96f6-457f-8e4e-1172c82e9463n%40googlegroups.com.

Reply via email to