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

Reply via email to