On Jul 25, 2009, at 2:44 PM, rjf wrote: > On Jul 25, 1:19 pm, Robert Bradshaw <rober...@math.washington.edu> > wrote: >> ... snip... >> >>> (RJF) 2. The reason for the recommended choice of language is to >>> avoid >>> languages with "long tool chains". >> >> (RB) I don't think this was the primary motive--qualities like >> easy to >> learn, easy to read, widely used, lots of libraries, easy integration >> with the massive number of open C and C++ math libraries already out >> there, fast enough (and easy to make fast, e.g. via Cython/Pyrex) >> were more important concerns. > > Those may be your reasons to use Python, but the paragraph from the > document I was referring to said, > in its entirety, > > "Do you develop in an uncommon programming language, requiring > learning > a new language and the installation of a large number of packages? > Products developed in languages other than C, C++, C#, Java, Python, > Perl and > Ruby generally require the developer to install an entire toolchain > which they would > not otherwise have on their computer. "
Good point, I had forgotten the context of the answer. > It seems to me that he omits the primary decision point for me, > which is > that a good criterion for choosing a programming language is that > it should > be appropriate for the task at hand. For some people, computing speed > is paramount; for others, compactness, speed of development, .... . > My belief is that Lisp is easy enough to learn, and someone who cannot > learn it quickly is unlikely to be highly productive in any > programming language. That's an important criteria, but doesn't help build a community. > For people who want to create programs but do not wish to program -- > they can patch together libraries in a graphical IDE. These are > destined to > not be core developers of a computer algebra system. For a product like Sage, the language is also (much of) the interface. The fact that it is so easy to migrate from being a user of Sage to a developer of Sage is, in my mind, one of the main contributors to Sage's success. I always found it interesting that Maxima developers decided that lisp wasn't a good enough user interface (for the common person). > >> > ... snip... >> >>> (RJF) 3. As I've indicated previously, the mission statement is, >>> in my view, >>> not clear. The phrase "viable free open source alternative" is too >>> vague. What is a viable alternative ? >> >> There's a lot of room for interpretation, > > Glad you agree with me. > >> (RB) but in my mind, it means >> you don't ever find yourself in a situation where you need the above >> because what Sage provides just isn't good enough. > > So it depends on your situation. >> >>> (RB) How does this goal differ from Maxima, Axiom, Reduce, >>> Jacal, ... or >>> for that matter, Octave? >> >> Probably in comprehensiveness. > > So your situation requires comprehensiveness? Note entirely, but the union of everyones situation does. >> Maxima and Reduce, as far as I know, >> never plan on doing number theory computations. > > Maybe you should look at the Maxima system's file "numth" which > provides various number theory functions. > > As far as sophistication, I note that it allows for accessing some > database of primes, when run on a Lisp Machine or a PDP-10. This > might have been a good idea when computers were slower and memory was > smaller. > > Given that the basic tools of arbitrary precision integer arithmetic > are available in any Common Lisp, > it is not surprising that other people have written programs in Lisp > for number theory. Google cites > 23,800 hits for "number theory"+Lisp. Probably many of these programs > can be read directly into Maxima. > Some lisps use the same integer arithmetic used by Sage (GMP). I've > had students write various elliptic curve > programs using lisp. > > Numth.lisp may not be especially comprehensive, but I've never found > myself in a situation where I needed a number theory functionality > other than what was there. That's because you're not a number theorist :). - Robert --~--~---------~--~----~------------~-------~--~----~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to sage-devel-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~----------~----~----~----~------~----~------~--~---