On Mon, Aug 29, 2011 at 6:00 AM, Jason Grout <[email protected]> wrote: > On 8/28/11 1:00 PM, William Stein wrote: >> >> Hello, >> >> I'm writing a short paper about the motivation and history of the Sage >> project for the FoCM 2011 conference proceedings, where I was one of >> the plenary speakers. >> >> I've attached the first draft to this email. Feedback welcome! >> >> The paper is due before September 1. > > Very nice! A couple of comments: > > 1. Mathematica has a Compile function [1], which should probably be > mentioned when you mention Cython.
That's exactly like Sage's fast_float and fast_callable functions, and the expression is still interpreted at runtime. I'll add to the footnote, and I'll emphasize what I mean by a compiler. "None of the Ma's has an optimizing compiler that converts programs written in their language to a fast binary form that is not interpreted at runtime." > Additionally, it should also probably be > mentioned that most (all?) of the systems have support for linking and > communicating with outside C programs (and other languages as well). Then > you could emphasize that Cython is both broader (more than mma's Compile > function) and more seamless (more than a link to to an outside program) than > the other options. I'm not sure I want to go there, since ffi's are available in most modern languages, and it is arguable whether Cython-as-ffi (or ctypes) is really better than what is available in other languages... It is however, a solid fact that the other languages don't have compilers (as defined above), and my desire for this was a real motivation for Sage. To clarify this connection, I'll add that I programmed in C++ for many years before I started using Magma, and found the loss of a compiler in Magma to be extremely frustrating. The only way to get compiled code with Magma is to modify the closed source kernel, which is something only "insiders" are *allowed* to do, since Magma is statically linked. > 2. In the nice graphic on p. 5, you have the matplotlib picture labeled as > "numpy". Maybe you could put "numpy, scipy, matplotlib" where you now have > "numpy" and you could list ipython where you have scipy. Also, the central > picture looks like a jmol image. It would be a nice nod to mention it as > well, though I'm not sure where you could. Maybe you could make C/C++ into > C/C++/Java and put jmol in that list. I realize the list is incomplete; I'm > just trying to make it internally consistent (i.e., at the last programs > responsible for the images should be listed). I'm going to remove that graphic from the paper, since it seems to annoy too many people. Also, I don't have a good pdf version of it (only png). It would be really cool to have a canonical high quality graphic along those lines though, for the Sage website, etc. > > Thanks, > > Jason > > > [1] > http://reference.wolfram.com/mathematica/tutorial/CompilingMathematicaExpressions.html > > -- > To post to this group, send an email to [email protected] > To unsubscribe from this group, send an email to > [email protected] > For more options, visit this group at > http://groups.google.com/group/sage-devel > URL: http://www.sagemath.org > -- William Stein Professor of Mathematics University of Washington http://wstein.org -- To post to this group, send an email to [email protected] To unsubscribe from this group, send an email to [email protected] For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org
