Re: [sage-devel] Re: "Why Sage?" Website Section

2010-11-17 Thread Tim Daly

 I don't really have anything more worth saying on this subject.

Tim Daly

--
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


Re: [sage-devel] Re: "Why Sage?" Website Section

2010-11-17 Thread David Kirkby
On 16 November 2010 04:20, Tim Daly  wrote:
>
>
> On 11/15/2010 8:54 PM, Robert Bradshaw wrote:
>>
>> On Sun, Nov 14, 2010 at 11:45 AM, Dr. David Kirkby
>>   wrote:

> Actually, I do not believe that the current way we do mathematics
> by computers is correct but that discussion takes us WAY off thread
> and this isn't the forum for that anyway.
>
>> Was the adoption of the special(er) purpose Spad language helpful in
>> attracting users and/or developers for Axiom?
>
> No, I'm sure that it did not attract more users. What it did do was
> make the language much closer to the mathematics. Spad is a general
> purpose programming language, uses indentation like Python, and is quite
> similar to python syntax and semantics. In fact, it allows things
> quite beyond python, like nested list comprehensions, full multiline
> closures, general argument destructuring, etc. If you are a python
> programmer you would find Spad to be "python 4.0". It also compiles
> to exceptionally efficient code without needing Cython.

If the language is a good as you imply, why is not not more popular?

What processors can it work on?

> I do think that python is not actually the "language" of Sage.
> I think the Sage language is unnamed at the moment.

That's probably true, though it is close to python.

It''s probably closer to Python than what GNU C is to standard C!!

> Maple is a very C-like language, which has a much larger audience
> than python. I am not sure that this attracted more users to Maple.

C has a larger audience than python, but Maple does not. It's clear
that any program written for just maths, is not going to have a very
wide audience, like C or Python does.

> I am not sure that attracting users to CAS systems has anything to
> do with the language. Generally you don't reach the language issue
> until you've used a CAS as a fancy calculator for a while.

Yes, you can use these systems as a fancy calculator, but sooner or
later, you are likely to want more functionality - i.e. program them.

Attracting developers with Python is easier than attracting them to a
more obscure languages.

> Tim Daly

Dave

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


[sage-devel] Re: "Why Sage?" Website Section

2010-11-17 Thread Eviatar
Any ideas on if and how the page should be implemented on the website?

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


Re: [sage-devel] Re: "Why Sage?" Website Section

2010-11-16 Thread Robert Bradshaw
On Mon, Nov 15, 2010 at 8:20 PM, Tim Daly  wrote:
>
>
> On 11/15/2010 8:54 PM, Robert Bradshaw wrote:
>>
>> On Sun, Nov 14, 2010 at 11:45 AM, Dr. David Kirkby
>>   wrote:
>>>
>>> On 11/14/10 07:00 PM, Tim Daly wrote:

 I find it amusing that mathematicians are being told that
 a math-specific language is a liability. Mathematics is,
 after all, a specialized language that took me years to
 learn.
>>
>> Creating, learning, and maintaining a math-specific language is not
>> free, and perhaps one of the few strands of consensus in this thread
>> is that it's very difficult to do right. The marginal advantages over
>> using a (suitable) general purpose language is, IMHO, not worth the
>> cost. Using a general purpose language has several advantages, most of
>> which have been discussed to death already.
>
> Actually, I do not believe that the current way we do mathematics
> by computers is correct but that discussion takes us WAY off thread
> and this isn't the forum for that anyway.
>
>> Was the adoption of the special(er) purpose Spad language helpful in
>> attracting users and/or developers for Axiom?
>
> No, I'm sure that it did not attract more users. What it did do was
> make the language much closer to the mathematics.

Was this a means or and end in and of itself?

> Spad is a general
> purpose programming language, uses indentation like Python, and is quite
> similar to python syntax and semantics. In fact, it allows things
> quite beyond python, like nested list comprehensions, full multiline
> closures, general argument destructuring, etc. If you are a python
> programmer you would find Spad to be "python 4.0". It also compiles
> to exceptionally efficient code without needing Cython.
>
> I do think that python is not actually the "language" of Sage.
> I think the Sage language is unnamed at the moment. I've been a paid
> professional python programmer and I still struggle with Sage (which
> I build occasionlly to cross-check Axiom). The Sage language has a
> lot of things like QQ which is nowhere in the python language.

These are not part of the "Sage language," they're just ordinary
symbols imported from the Sage library. In particular, they're not
builtin concepts to the language the way if statements are. Now Sage
does use a pre-parser, but it doesn't significantly alter the
language. I think you're confusing the language with the library.

> Saying
> that Sage is written in python seems like saying that mathematics is
> written in english (there I go with those analogies again...). Most
> english speakers cannot read or write mathematics and most python
> programmers cannot read or write sage programs.
>
> Maple is a very C-like language, which has a much larger audience
> than python. I am not sure that this attracted more users to Maple.
>
> I am not sure that attracting users to CAS systems has anything to
> do with the language. Generally you don't reach the language issue
> until you've used a CAS as a fancy calculator for a while.
>
> In any case, my original point was that in becoming a computational
> mathematician the CAS language is the least of your problems.

Yes, as long as it's sufficiently good to not get in your way. I think
many languages could fit this bill (and many not.)

- Robert

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


Re: [sage-devel] Re: "Why Sage?" Website Section

2010-11-15 Thread Tim Daly



On 11/15/2010 8:54 PM, Robert Bradshaw wrote:

On Sun, Nov 14, 2010 at 11:45 AM, Dr. David Kirkby
  wrote:

On 11/14/10 07:00 PM, Tim Daly wrote:

I find it amusing that mathematicians are being told that
a math-specific language is a liability. Mathematics is,
after all, a specialized language that took me years to
learn.

Creating, learning, and maintaining a math-specific language is not
free, and perhaps one of the few strands of consensus in this thread
is that it's very difficult to do right. The marginal advantages over
using a (suitable) general purpose language is, IMHO, not worth the
cost. Using a general purpose language has several advantages, most of
which have been discussed to death already.

Actually, I do not believe that the current way we do mathematics
by computers is correct but that discussion takes us WAY off thread
and this isn't the forum for that anyway.


Was the adoption of the special(er) purpose Spad language helpful in
attracting users and/or developers for Axiom?

No, I'm sure that it did not attract more users. What it did do was
make the language much closer to the mathematics. Spad is a general
purpose programming language, uses indentation like Python, and is quite
similar to python syntax and semantics. In fact, it allows things
quite beyond python, like nested list comprehensions, full multiline
closures, general argument destructuring, etc. If you are a python
programmer you would find Spad to be "python 4.0". It also compiles
to exceptionally efficient code without needing Cython.

I do think that python is not actually the "language" of Sage.
I think the Sage language is unnamed at the moment. I've been a paid
professional python programmer and I still struggle with Sage (which
I build occasionlly to cross-check Axiom). The Sage language has a
lot of things like QQ which is nowhere in the python language. Saying
that Sage is written in python seems like saying that mathematics is
written in english (there I go with those analogies again...). Most
english speakers cannot read or write mathematics and most python
programmers cannot read or write sage programs.

Maple is a very C-like language, which has a much larger audience
than python. I am not sure that this attracted more users to Maple.

I am not sure that attracting users to CAS systems has anything to
do with the language. Generally you don't reach the language issue
until you've used a CAS as a fancy calculator for a while.

In any case, my original point was that in becoming a computational
mathematician the CAS language is the least of your problems.

Tim Daly

--
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


Re: [sage-devel] Re: "Why Sage?" Website Section

2010-11-15 Thread Robert Bradshaw
On Sun, Nov 14, 2010 at 11:45 AM, Dr. David Kirkby
 wrote:
> On 11/14/10 07:00 PM, Tim Daly wrote:
>>
>> I find it amusing that mathematicians are being told that
>> a math-specific language is a liability. Mathematics is,
>> after all, a specialized language that took me years to
>> learn.

Creating, learning, and maintaining a math-specific language is not
free, and perhaps one of the few strands of consensus in this thread
is that it's very difficult to do right. The marginal advantages over
using a (suitable) general purpose language is, IMHO, not worth the
cost. Using a general purpose language has several advantages, most of
which have been discussed to death already.

Was the adoption of the special(er) purpose Spad language helpful in
attracting users and/or developers for Axiom?

> I asked RJF what languge he thought the interface should be. As 10 options I
> consider might be viable choises where
>
>  1) Create an entirely new language.
>  2) Python
>  3) Maxima
>  4) A Mathematica like interface
>  5) A MATLAB like interface
>  6) A Maple-like interface
>  7) A Magma-like interface
>  8) Lisp
>  9) Q - see
> http://en.wikipedia.org/wiki/Q_%28equational_programming_language%29
>  10) Pure http://code.google.com/p/pure-lang/ is another possibility,
> but that did not exist until 2008, but is based on  Q, which existed
> prior to Sage
>
> He failed to response. (He would rather tell me on the Maxima list that I
> can create an infinite set of integers to do some testing.) But that is to
> be expected from Richard - a signal to noise ratio of about -30 dB.
>
> But what do you think is the ideal language for a user interface? There have
> been endless attempts at cleating new languages (#1 above). I've even done
> it myself, to the extent of writing a couple of hundred lines of code for
> lex and yacc. But it's a very difficult problem to get right, and quite
> honestly requires a set of sills I don't think a single Sage developer
> processes.

I think that some (definitely a small minority) of the people here
have the skills, but it was a deliberate design decision not to.

> "Pure" seems an interesting language to me. It is headed by someone with
> both a a maths and a computer science background. But the number of
> developers can be counted on one hand I think.
>
> I agree with William, the best language does depend on the problem. I use
> both Mathematica and MATLAB and its pretty clear to me that they have their
> strengths and weaknesses, and one language is more suited to some problems
> than the other. There are some mathematical tasks that I think are best done
> with Labview - something totally different to Sage, Axiom, Mathematica,
> Maple, MATLAB and I assume Magma too, though I have never used Magma.
>
> The "glue" language is another issue altogether.
>
> The biggest benefit for Python has seemed to be the number of developers. I
> simply don't think that would exist if using Lisp, Pure or something else a
> bit more obscure.

There's the question of potential developers as well. There are few
languages that, in my limited experience, are as easy to pick up as
Python. I've seen people become useful with it in a matter of
hours--the same cannot be said of C or Lisp. In all fairness, I don't
expect everyone to be a good programmer, no matter what the language,
but that's not in most peoples jon descriptions, and arguably most of
Sage's audience is not future software developers. This is an argument
for using Python as the interface, rather than implementation,
language, but in all the barriers to scaling that Sage has hit so far,
the fact that Python is the main language (of the code we wrote,
rather than incorporated) has yet to be one of them.

- Robert

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


Re: [sage-devel] Re: "Why Sage?" Website Section

2010-11-15 Thread Dr. David Kirkby

On 11/15/10 05:59 AM, rjf wrote:



On Nov 14, 11:45 am, "Dr. David Kirkby"
wrote:



I asked RJF what languge he thought the interface should be. As 10 options I
consider might be viable choises where



Whether there should be a single language for implementation
and user interface for a computer algebra system has occupied
designers
and students of such systems for about 50 years, and there are many
papers
on this topic.  And there are many papers (phd theses, too) describing
new and wonderful
user interfaces.  My advice is to look at the literature.  As they say
(more or less)
a month of programming can save an hour in the library.

RJF


Of course if there was a simple answer, there would not need to be all these PhD 
theses on the topic.


You are critical of Sage's choice of Python, but have not proposed a better 
solution.


Writing a language from scratch is not practical given the skill set of Sage 
developers. For those with CS degrees, who have studied compiler design, it 
would be, but it is no easy task - contrary to what you may think, I have looked 
at the literature on this. I even purchased this book on compiler design


http://www.amazon.com/Modern-Compiler-Design-D-Grune/dp/0471976970

and have come to the conclusion writing a new language would have been a *very* 
difficult task, even if you use something like LLVM as a back-end. (That's why I 
find Pure an interesting language. It happens to be developed by someone with 
both a CS and maths background, and uses modern tools like LLVM. But it's not a 
mainstream language)


So that leaves existing languages. One then needs to consider the developers who 
know the language and those who would be willing to learn it.


There is no doubt the syntax of Lisp is very off-putting to people, which 
explains its relative lack of popularity. I've seen your paper about why C is 
not your favorite lanaguge. But C is far more popular than Lisp.


There are the odd few Lisp patches to Maxima on the Sage trac tickets, and 
people have problems getting those reviewed, as so few know Lisp.


Dave

--
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


[sage-devel] Re: "Why Sage?" Website Section

2010-11-14 Thread rjf


On Nov 14, 11:45 am, "Dr. David Kirkby" 
wrote:

>
> I asked RJF what languge he thought the interface should be. As 10 options I
> consider might be viable choises where
>

Whether there should be a single language for implementation
and user interface for a computer algebra system has occupied
designers
and students of such systems for about 50 years, and there are many
papers
on this topic.  And there are many papers (phd theses, too) describing
new and wonderful
user interfaces.  My advice is to look at the literature.  As they say
(more or less)
a month of programming can save an hour in the library.

RJF

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


Re: [sage-devel] Re: "Why Sage?" Website Section

2010-11-14 Thread Tim Daly



On 11/14/2010 10:37 PM, William Stein wrote:

On Sun, Nov 14, 2010 at 6:48 PM, Eviatar  wrote:

I thought Python was strongly typed. Definition from Wikipedia:

"Most generally, "strong typing" implies that the programming language
places severe restrictions on the intermixing that is permitted to
occur, preventing the compiling or running of source code which uses
data in what is considered to be an invalid way. For instance, an
integer division operation may not be used upon strings; a procedure
which operates upon linked lists may not be used upon numbers.
However, the nature and strength of these restrictions is highly
variable."

What do you mean by saying it isn't?

FYI, I've learned from experience that even using the phrases
"strongly typed" and "weakly typed" is a bad idea.
The problem is that there aren't any good accepted definitions of
them, and it is easy to find reputable sources that flatly disagree
with the definition at Wikipedia, unfortunately.

The original poster probably meant that Python is not "statically
typed".   (Another can of worms, but less of a problem.)

  - William

I agree with William that the "strongly typed" question is a
(well, I can't bring myself to use the "can of worms" analogy
given my prior analogy chastizing :-) )

To illustrate an example, it is possible to define:

  integer foo(integer x, integer y) {}
  matrix  foo(integer x, integer y) {}

and then write:

  integer a := foo(3,4)
  matrix  b := foo(3,4)

The question of which foo to call requires function dispatching
on the return type of the function. Few existing languages do this.

One place where this is useful is the construction of canonical forms.
The question of which result is simplest depends on the result you
expect. Consider that

1 11
- x + --
7 13

is a polynomial with fractional coefficients and cannot be reduced. But

  13x + 77
  
 91

is a fraction of two polynomials with integer coefficients. They also
happen to represent the same value. Simplification of the value depends
on whether the desired result is a
  Polynomial(Fraction(Integer))
or a
  Fraction(Polynomial(Integer))

By specifying the target type you can define the simple form.

Tim Daly


--
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


Re: [sage-devel] Re: "Why Sage?" Website Section

2010-11-14 Thread William Stein
On Sun, Nov 14, 2010 at 6:48 PM, Eviatar  wrote:
> I thought Python was strongly typed. Definition from Wikipedia:
>
> "Most generally, "strong typing" implies that the programming language
> places severe restrictions on the intermixing that is permitted to
> occur, preventing the compiling or running of source code which uses
> data in what is considered to be an invalid way. For instance, an
> integer division operation may not be used upon strings; a procedure
> which operates upon linked lists may not be used upon numbers.
> However, the nature and strength of these restrictions is highly
> variable."
>
> What do you mean by saying it isn't?

FYI, I've learned from experience that even using the phrases
"strongly typed" and "weakly typed" is a bad idea.
The problem is that there aren't any good accepted definitions of
them, and it is easy to find reputable sources that flatly disagree
with the definition at Wikipedia, unfortunately.

The original poster probably meant that Python is not "statically
typed".   (Another can of worms, but less of a problem.)

 - William

>
> On Nov 14, 3:17 pm, Tim Daly  wrote:
>>   I am not the best person to ask as I have a vested interest.
>>
>> I find that mathematical notation is strongly context
>> sensitive which gets translated into types when done
>> as computational mathematics. Thus, I believe that a
>> mathematical language needs to be strongly typed.
>> Python is not strongly typed.
>>
>> Axiom has two levels of type-strength. The interpreter
>> does its best to guess types so the user can give short
>> and reasonable inputs. The compiler requires extremely
>> strong typing to ensure that the algorithms match the
>> intentions. The fact that the compiler does not make
>> guesses makes it more challenging to develop library code
>> but increases the chance that the algorithm is correct.
>> Python does not compile.
>>
>> In addition, I believe that a computational mathematics
>> language has to have a strong connection to the underlying
>> mathematics. In Axiom's case, abstract algebra provides the
>> mathematical framework for providing categories around which
>> the algorithms are structured. Sage does not seem to have a
>> strong scaffold for adding new packages. It appears to be
>> growing by accretion.
>>
>> There are two extensions I would like to have which is
>> the use of unicode and the use of two dimensional input.
>> Sage/Python has a chance for a big win here.
>>
>> I think that unicode input which allows greek and other
>> symbols would make the input closer to the original mathematics
>> notation. Unfortunately, my thesis work showed me that
>> mathematical notation is highly ambiguous. In fact, I have
>> come to the conclusion that the equations in a book are
>> pretty much content free. The real mathematics is actually
>> contained in the surrounding text. To see this effect take
>> your favorite textbook, remove everything but the equations
>> and you'll find that you have lost the meaning of the symbols.
>> Without context, E=MC^2 is a meaningless jumble of symbols.
>>
>> I think that two dimensional input is also a huge win.
>> However, I worked on two dimensional input at IBM Research.
>> I know of several attempts to do the same thing. The most
>> recent attempt that I saw was at the University of Waterloo.
>> I do not know what became of this effort but I know that
>> two dimensional input is hard and very ambiguous.
>>
>> In any case, computational mathematics is more about the
>> algorithms than about the notation. A strong mathematical
>> framework and strong typing are more important than I/O.
>>
>> By the way, the Axiom Spad language is very much like Python.
>> It uses indentation to group code. It has list comprehensions.
>> It has many more data structures than Python. It dispatches
>> not only on the types of the arguments but also on the type
>> of the result (something few languages allow even today).
>>
>> Spad can be either interpreted or compiled. It can communicate
>> with lisp (the implementation language), C (the whole graphics
>> subsystem is written in C), javascript (the browser frontend
>> is AJAX/Javascript/HTML), Fortran (the commercial version
>> called the NAG fortran library routines), etc. The claim that
>> Python is an exceptional language for computation mathematics
>> or is exceptional as a "glue" language completely ignores
>> history which tends to make us old people cranky.
>>
>> I think the Sage language designers could steal a few useful
>> ideas from the Spad language.
>>
>> I also find the Python/Lisp debate useless. In Axiom, Lisp is
>> the implementation language but you can use Axiom for years and
>> not know that because Spad is the computational algorithm language.
>>
>> In Sage there is confusion about the implementation language of
>> Python and the computational mathematics language built in Python
>> which appears not to have a name.
>>
>> Tim Daly
>>
>> On 11/14/2010 2:45 PM, Dr. David Kirkby

[sage-devel] Re: "Why Sage?" Website Section

2010-11-14 Thread Eviatar
I thought Python was strongly typed. Definition from Wikipedia:

"Most generally, "strong typing" implies that the programming language
places severe restrictions on the intermixing that is permitted to
occur, preventing the compiling or running of source code which uses
data in what is considered to be an invalid way. For instance, an
integer division operation may not be used upon strings; a procedure
which operates upon linked lists may not be used upon numbers.
However, the nature and strength of these restrictions is highly
variable."

What do you mean by saying it isn't?

On Nov 14, 3:17 pm, Tim Daly  wrote:
>   I am not the best person to ask as I have a vested interest.
>
> I find that mathematical notation is strongly context
> sensitive which gets translated into types when done
> as computational mathematics. Thus, I believe that a
> mathematical language needs to be strongly typed.
> Python is not strongly typed.
>
> Axiom has two levels of type-strength. The interpreter
> does its best to guess types so the user can give short
> and reasonable inputs. The compiler requires extremely
> strong typing to ensure that the algorithms match the
> intentions. The fact that the compiler does not make
> guesses makes it more challenging to develop library code
> but increases the chance that the algorithm is correct.
> Python does not compile.
>
> In addition, I believe that a computational mathematics
> language has to have a strong connection to the underlying
> mathematics. In Axiom's case, abstract algebra provides the
> mathematical framework for providing categories around which
> the algorithms are structured. Sage does not seem to have a
> strong scaffold for adding new packages. It appears to be
> growing by accretion.
>
> There are two extensions I would like to have which is
> the use of unicode and the use of two dimensional input.
> Sage/Python has a chance for a big win here.
>
> I think that unicode input which allows greek and other
> symbols would make the input closer to the original mathematics
> notation. Unfortunately, my thesis work showed me that
> mathematical notation is highly ambiguous. In fact, I have
> come to the conclusion that the equations in a book are
> pretty much content free. The real mathematics is actually
> contained in the surrounding text. To see this effect take
> your favorite textbook, remove everything but the equations
> and you'll find that you have lost the meaning of the symbols.
> Without context, E=MC^2 is a meaningless jumble of symbols.
>
> I think that two dimensional input is also a huge win.
> However, I worked on two dimensional input at IBM Research.
> I know of several attempts to do the same thing. The most
> recent attempt that I saw was at the University of Waterloo.
> I do not know what became of this effort but I know that
> two dimensional input is hard and very ambiguous.
>
> In any case, computational mathematics is more about the
> algorithms than about the notation. A strong mathematical
> framework and strong typing are more important than I/O.
>
> By the way, the Axiom Spad language is very much like Python.
> It uses indentation to group code. It has list comprehensions.
> It has many more data structures than Python. It dispatches
> not only on the types of the arguments but also on the type
> of the result (something few languages allow even today).
>
> Spad can be either interpreted or compiled. It can communicate
> with lisp (the implementation language), C (the whole graphics
> subsystem is written in C), javascript (the browser frontend
> is AJAX/Javascript/HTML), Fortran (the commercial version
> called the NAG fortran library routines), etc. The claim that
> Python is an exceptional language for computation mathematics
> or is exceptional as a "glue" language completely ignores
> history which tends to make us old people cranky.
>
> I think the Sage language designers could steal a few useful
> ideas from the Spad language.
>
> I also find the Python/Lisp debate useless. In Axiom, Lisp is
> the implementation language but you can use Axiom for years and
> not know that because Spad is the computational algorithm language.
>
> In Sage there is confusion about the implementation language of
> Python and the computational mathematics language built in Python
> which appears not to have a name.
>
> Tim Daly
>
> On 11/14/2010 2:45 PM, Dr. David Kirkby wrote:
>
>
>
>
>
>
>
> > On 11/14/10 07:00 PM, Tim Daly wrote:
> >> I find it amusing that mathematicians are being told that
> >> a math-specific language is a liability. Mathematics is,
> >> after all, a specialized language that took me years to
> >> learn.
>
> > I asked RJF what languge he thought the interface should be. As 10
> > options I consider might be viable choises where
>
> >  1) Create an entirely new language.
> >  2) Python
> >  3) Maxima
> >  4) A Mathematica like interface
> >  5) A MATLAB like interface
> >  6) A Maple-like interface
> >  7) A Magma-like interf

Re: [sage-devel] Re: "Why Sage?" Website Section

2010-11-14 Thread William Stein
On Sun, Nov 14, 2010 at 3:17 PM, Tim Daly  wrote:
> In addition, I believe that a computational mathematics
> language has to have a strong connection to the underlying
> mathematics. In Axiom's case, abstract algebra provides the
> mathematical framework for providing categories around which
> the algorithms are structured. Sage does not seem to have a
> strong scaffold for adding new packages. It appears to be
> growing by accretion.

The Sage library does have a framework for providing categories around
which algorithms are structured, thanks to work of David Kohel (back
in 2005), Nicolas Thierny (last year), and many others over the years.
 There is also a coercion model that automates the construction of
natural maps between different modules, rings, etc., which Robert
Bradshaw, Craig Citro, David Roe, and others, designed and
implemented.The categories framework and coercion model together
provide said framework.   Most of it didn't exist 3 years ago.

> I think the Sage language designers could steal a few useful
> ideas from the Spad language.

I'm sure the design and implementation of Python is heavily influenced
by other languages...

> I also find the Python/Lisp debate useless. In Axiom, Lisp is
> the implementation language but you can use Axiom for years and
> not know that because Spad is the computational algorithm language.
>
> In Sage there is confusion about the implementation language of
> Python and the computational mathematics language built in Python
> which appears not to have a name.

It is called "The Sage Library".  It's a Python library that one gets by typing

   "import sage"

at the Python prompt.

>  The claim that Python is an exceptional language for computation
> mathematics or is exceptional as a "glue" language completely ignores
> history which tends to make us old people cranky.

The claim does not ignore history, since a big part of this claim is
that there are a large number of Python users, and a big ecosystem of
code that is usable easily from Python.  That is the result of
"history", i.e., things that happened in the past.  Thank you history.
   If Python had few users and the set of libraries available for
Python were tiny, then it would look very unattractive.

 -- William

-- 
William Stein
Professor of Mathematics
University of Washington
http://wstein.org

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


Re: [sage-devel] Re: "Why Sage?" Website Section

2010-11-14 Thread Tim Daly

 I am not the best person to ask as I have a vested interest.

I find that mathematical notation is strongly context
sensitive which gets translated into types when done
as computational mathematics. Thus, I believe that a
mathematical language needs to be strongly typed.
Python is not strongly typed.

Axiom has two levels of type-strength. The interpreter
does its best to guess types so the user can give short
and reasonable inputs. The compiler requires extremely
strong typing to ensure that the algorithms match the
intentions. The fact that the compiler does not make
guesses makes it more challenging to develop library code
but increases the chance that the algorithm is correct.
Python does not compile.

In addition, I believe that a computational mathematics
language has to have a strong connection to the underlying
mathematics. In Axiom's case, abstract algebra provides the
mathematical framework for providing categories around which
the algorithms are structured. Sage does not seem to have a
strong scaffold for adding new packages. It appears to be
growing by accretion.

There are two extensions I would like to have which is
the use of unicode and the use of two dimensional input.
Sage/Python has a chance for a big win here.

I think that unicode input which allows greek and other
symbols would make the input closer to the original mathematics
notation. Unfortunately, my thesis work showed me that
mathematical notation is highly ambiguous. In fact, I have
come to the conclusion that the equations in a book are
pretty much content free. The real mathematics is actually
contained in the surrounding text. To see this effect take
your favorite textbook, remove everything but the equations
and you'll find that you have lost the meaning of the symbols.
Without context, E=MC^2 is a meaningless jumble of symbols.

I think that two dimensional input is also a huge win.
However, I worked on two dimensional input at IBM Research.
I know of several attempts to do the same thing. The most
recent attempt that I saw was at the University of Waterloo.
I do not know what became of this effort but I know that
two dimensional input is hard and very ambiguous.

In any case, computational mathematics is more about the
algorithms than about the notation. A strong mathematical
framework and strong typing are more important than I/O.

By the way, the Axiom Spad language is very much like Python.
It uses indentation to group code. It has list comprehensions.
It has many more data structures than Python. It dispatches
not only on the types of the arguments but also on the type
of the result (something few languages allow even today).

Spad can be either interpreted or compiled. It can communicate
with lisp (the implementation language), C (the whole graphics
subsystem is written in C), javascript (the browser frontend
is AJAX/Javascript/HTML), Fortran (the commercial version
called the NAG fortran library routines), etc. The claim that
Python is an exceptional language for computation mathematics
or is exceptional as a "glue" language completely ignores
history which tends to make us old people cranky.

I think the Sage language designers could steal a few useful
ideas from the Spad language.

I also find the Python/Lisp debate useless. In Axiom, Lisp is
the implementation language but you can use Axiom for years and
not know that because Spad is the computational algorithm language.

In Sage there is confusion about the implementation language of
Python and the computational mathematics language built in Python
which appears not to have a name.

Tim Daly




On 11/14/2010 2:45 PM, Dr. David Kirkby wrote:

On 11/14/10 07:00 PM, Tim Daly wrote:

I find it amusing that mathematicians are being told that
a math-specific language is a liability. Mathematics is,
after all, a specialized language that took me years to
learn.


I asked RJF what languge he thought the interface should be. As 10 
options I consider might be viable choises where


 1) Create an entirely new language.
 2) Python
 3) Maxima
 4) A Mathematica like interface
 5) A MATLAB like interface
 6) A Maple-like interface
 7) A Magma-like interface
 8) Lisp
 9) Q - see 
http://en.wikipedia.org/wiki/Q_%28equational_programming_language%29

 10) Pure http://code.google.com/p/pure-lang/ is another possibility,
but that did not exist until 2008, but is based on  Q, which existed
prior to Sage

He failed to response. (He would rather tell me on the Maxima list 
that I can create an infinite set of integers to do some testing.) But 
that is to be expected from Richard - a signal to noise ratio of about 
-30 dB.


But what do you think is the ideal language for a user interface? 
There have been endless attempts at cleating new languages (#1 above). 
I've even done it myself, to the extent of writing a couple of hundred 
lines of code for lex and yacc. But it's a very difficult problem to 
get right, and quite honestly requires a set of sills I don't think a 
single Sage 

Re: [sage-devel] Re: "Why Sage?" Website Section

2010-11-14 Thread Dr. David Kirkby

On 11/14/10 07:00 PM, Tim Daly wrote:

I find it amusing that mathematicians are being told that
a math-specific language is a liability. Mathematics is,
after all, a specialized language that took me years to
learn.


I asked RJF what languge he thought the interface should be. As 10 options I 
consider might be viable choises where


 1) Create an entirely new language.
 2) Python
 3) Maxima
 4) A Mathematica like interface
 5) A MATLAB like interface
 6) A Maple-like interface
 7) A Magma-like interface
 8) Lisp
 9) Q - see http://en.wikipedia.org/wiki/Q_%28equational_programming_language%29
 10) Pure http://code.google.com/p/pure-lang/ is another possibility,
but that did not exist until 2008, but is based on  Q, which existed
prior to Sage

He failed to response. (He would rather tell me on the Maxima list that I can 
create an infinite set of integers to do some testing.) But that is to be 
expected from Richard - a signal to noise ratio of about -30 dB.


But what do you think is the ideal language for a user interface? There have 
been endless attempts at cleating new languages (#1 above). I've even done it 
myself, to the extent of writing a couple of hundred lines of code for lex and 
yacc. But it's a very difficult problem to get right, and quite honestly 
requires a set of sills I don't think a single Sage developer processes.


"Pure" seems an interesting language to me. It is headed by someone with both a 
a maths and a computer science background. But the number of developers can be 
counted on one hand I think.


I agree with William, the best language does depend on the problem. I use both 
Mathematica and MATLAB and its pretty clear to me that they have their strengths 
and weaknesses, and one language is more suited to some problems than the other. 
There are some mathematical tasks that I think are best done with Labview - 
something totally different to Sage, Axiom, Mathematica, Maple, MATLAB and I 
assume Magma too, though I have never used Magma.


The "glue" language is another issue altogether.

The biggest benefit for Python has seemed to be the number of developers. I 
simply don't think that would exist if using Lisp, Pure or something else a bit 
more obscure.


Dave

--
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


Re: [sage-devel] Re: "Why Sage?" Website Section

2010-11-14 Thread William Stein
On Sun, Nov 14, 2010 at 11:00 AM, Tim Daly  wrote:
>  I find it amusing that mathematicians are being told that
> a math-specific language is a liability. Mathematics is,
> after all, a specialized language that took me years to
> learn.
>
> In any problem you wish to solve with a program there is always
> an impedance mismatch (like hooking a soda straw to a firehose).
>
> You can choose a language close to the machine (e.g assembler)
> and "port" your problem across the chasm. Or you can choose a
> language close to the problem (e.g. APL) and let the machine do
> the "port" across the chasm. Python is somewhere in the middle
> where mathematics is concerned.
>
> Python is a poor match for the machine (interpreted) and it is a
> poor match for the mathematics (needing lots of supporting
> superstructure the user needs to learn).

This is FUD, which tacitly assumes the world is black and white.
For a *given problem and mathematician*, sometimes Python (or any
language) is an excellent match and sometimes it is a poor match.

> As a pragmatic choice for design-by-accretion it is excellent.
> But as a selling point for developing mathematics I'm somewhat
> more skeptical.
>
> What is the ultimate purpose of Sage (beyond competition)?

The ultimate purpose of Sage is to provide a viable *alternative* to
the Ma's.  The goal of the Sage project is to create software that can
be used by people to solve mathematical problems without them having
to rely on closed commercial systems.

> Is it a platform for doing computational mathematics?

It is software for doing computational mathematics.

> If so, why wouldn't I want a language close to my problem,
> that is, a language that directly supports well-founded
> mathematics?

The language you might want depends on *your problem*.  In my
experience, there are a very, very wide range of problems that one
confronts when being involved in mathematics.  This ranges from
creating webpages and databases, to grading homework, to enumerating
all objects with some property, to multiplying polynomials, to
experimenting with ideas for algorithms, to drawing pictures of
elliptic curves for books and papers, and much more.

> And what can that possibly have to do with Python?

For some combinations of mathematician + problem, Python is a
sufficiently good choice.

> Python is the glue. Who chooses a workbench based on the glue?

Arguments based on metaphor and analogy.  Sigh.  If it rhymes, it must
be true...

>
> Tim Daly
>
>
> On 11/13/2010 10:13 AM, rjf wrote:
>>
>> On Nov 13, 6:32 am, "Johan S. R. Nielsen"
>> wrote:
>>
>>> two info boxes on this suggested "Why Sage"-page.
>>>
>>> I don't think that Python is the perfect language to write mathematics
>>> software with; I would definitely vote on a much more functional
>>> language here, e.g. OCaml or maybe even Haskell. However, this would
>>> cut out so many potential developers,
>>
>> ... yada yada...
>>
>> excessive boosterism.
>>
>> Consider that symbolic software systems like Maxima/Macsyma, Reduce,
>> Axiom, Jacal ...
>> were written in Lisp,
>>
>> and that Mathematica and Maple were written in C dialects...
>>
>> and even YOU would prefer a different, more functional language.
>>
>> And then you say Python is still better.
>>
>> Certainly not for writing math software.    Maybe for writing web
>> applications?
>>
>> Because it has a coherent syntax   Compared to Lisp or Haskell or
>> OCaml?
>> Because people who know little mathematics and little about
>> programming
>> can write/alter/debug applications for SAGE???  About which they
>> presumably know
>> nothing?   And this is because Python is such a winner?
>>
>> And of course so much of SAGE is not even in Python, but C, Fortran, C+
>> +, Lisp, whatever,
>> that even that is nonsense.
>>
>> excessive boosterism.
>>
>> At best, you might say, some features of Sage can be augmented by
>> writing in Python, and
>> the user interface looks like Python  (actually it is not, but has to
>> be pre-processed).
>>
>> RJF
>>
>
> --
> To post to this group, send an email to sage-devel@googlegroups.com
> To unsubscribe from this group, send an email to
> sage-devel+unsubscr...@googlegroups.com
> 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 sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


[sage-devel] Re: "Why Sage?" Website Section

2010-11-14 Thread Johan S. R. Nielsen
On Nov 13, 4:13 pm, rjf  wrote:
> On Nov 13, 6:32 am, "Johan S. R. Nielsen" 
> wrote:
>
> > two info boxes on this suggested "Why Sage"-page.
>
> > I don't think that Python is the perfect language to write mathematics
> > software with; I would definitely vote on a much more functional
> > language here, e.g. OCaml or maybe even Haskell. However, this would
> > cut out so many potential developers,
>
> ... yada yada...
>
> excessive boosterism.
>
> Consider that symbolic software systems like Maxima/Macsyma, Reduce,
> Axiom, Jacal ...
> were written in Lisp,
>
> and that Mathematica and Maple were written in C dialects...
>
> and even YOU would prefer a different, more functional language.
>
> And then you say Python is still better.
>
> Certainly not for writing math software.    Maybe for writing web
> applications?
>
> Because it has a coherent syntax   Compared to Lisp or Haskell or
> OCaml?
> Because people who know little mathematics and little about
> programming
> can write/alter/debug applications for SAGE???  About which they
> presumably know
> nothing?   And this is because Python is such a winner?
>
> And of course so much of SAGE is not even in Python, but C, Fortran, C+
> +, Lisp, whatever,
> that even that is nonsense.
>
> excessive boosterism.
>
> At best, you might say, some features of Sage can be augmented by
> writing in Python, and
> the user interface looks like Python  (actually it is not, but has to
> be pre-processed).
>
> RJF

Seems to me that either I completely failed at expressing my ideas
clearly, or you failed at reading my post properly. Either way, I get
no enjoyment out of discussing in that kind of mode and tone, so I'll
just leave it at my last post.

Johan

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


Re: [sage-devel] Re: "Why Sage?" Website Section

2010-11-14 Thread Tim Daly

 I find it amusing that mathematicians are being told that
a math-specific language is a liability. Mathematics is,
after all, a specialized language that took me years to
learn.

In any problem you wish to solve with a program there is always
an impedance mismatch (like hooking a soda straw to a firehose).

You can choose a language close to the machine (e.g assembler)
and "port" your problem across the chasm. Or you can choose a
language close to the problem (e.g. APL) and let the machine do
the "port" across the chasm. Python is somewhere in the middle
where mathematics is concerned.

Python is a poor match for the machine (interpreted) and it is a
poor match for the mathematics (needing lots of supporting
superstructure the user needs to learn).

As a pragmatic choice for design-by-accretion it is excellent.
But as a selling point for developing mathematics I'm somewhat
more skeptical.

What is the ultimate purpose of Sage (beyond competition)?
Is it a platform for doing computational mathematics?
If so, why wouldn't I want a language close to my problem,
that is, a language that directly supports well-founded
mathematics? And what can that possibly have to do with Python?

Python is the glue. Who chooses a workbench based on the glue?

Tim Daly


On 11/13/2010 10:13 AM, rjf wrote:


On Nov 13, 6:32 am, "Johan S. R. Nielsen"
wrote:


two info boxes on this suggested "Why Sage"-page.

I don't think that Python is the perfect language to write mathematics
software with; I would definitely vote on a much more functional
language here, e.g. OCaml or maybe even Haskell. However, this would
cut out so many potential developers,

... yada yada...

excessive boosterism.

Consider that symbolic software systems like Maxima/Macsyma, Reduce,
Axiom, Jacal ...
were written in Lisp,

and that Mathematica and Maple were written in C dialects...

and even YOU would prefer a different, more functional language.

And then you say Python is still better.

Certainly not for writing math software.Maybe for writing web
applications?

Because it has a coherent syntax   Compared to Lisp or Haskell or
OCaml?
Because people who know little mathematics and little about
programming
can write/alter/debug applications for SAGE???  About which they
presumably know
nothing?   And this is because Python is such a winner?

And of course so much of SAGE is not even in Python, but C, Fortran, C+
+, Lisp, whatever,
that even that is nonsense.

excessive boosterism.

At best, you might say, some features of Sage can be augmented by
writing in Python, and
the user interface looks like Python  (actually it is not, but has to
be pre-processed).

RJF



--
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


[sage-devel] Re: "Why Sage?" Website Section

2010-11-14 Thread Jonathan
Second +1
Jonathan

On Nov 13, 9:07 pm, "Dr. David Kirkby" 
wrote:
> On 11/14/10 02:54 AM, Eviatar wrote:
>
> > Anyway, I made an updated version (linking seems to work now):
>
> >http://oi55.tinypic.com/rclh5l.jpg
>
> I think that's better. At least the maths part is first.
>
> Dave

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


Re: [sage-devel] Re: "Why Sage?" Website Section

2010-11-13 Thread Dr. David Kirkby

On 11/14/10 02:54 AM, Eviatar wrote:


Anyway, I made an updated version (linking seems to work now):

http://oi55.tinypic.com/rclh5l.jpg


I think that's better. At least the maths part is first.


Dave

--
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


[sage-devel] Re: "Why Sage?" Website Section

2010-11-13 Thread kcrisman


On Nov 12, 5:16 pm, rjf  wrote:
> On Nov 12, 10:46 am, kcrisman  wrote:
>
> > > My view is that there has been excessive boosterism for Python,
> > Perhaps.
> > > So having packages in Python doesn't matter, and therefore it is not
> > > really a selling point and
> > > maybe should not be mentioned prominently because users don't care??
>
> > At least pedagogical users care.
>
> Really? The parts of Sage that are written in python appear to be
> entirely conventional kinds of computer science projects ... e.g.
> write a read-eval-print loop that has does math and calls programs.
>
> Judging from the kinds of bug reports I see here, it has no special
> pedagogical import, and might as well have been written in any
> language du jour.
>
> Some people here at Berkeley are enthusiastic about
> Ruby on Rails.  Tcl/TK passed by some time ago.
>
> Python/web blah blah is so retro. If it is so great, and Google
> loves it, why can't I download python apps to my Google android
> phone? :)
> Like Sage.  Oh, I forgot, Sage isn't really written in Python,
> anyway.

I mean pedagogically from my perspective - as you well know, I've
never claimed to be anything remotely like a computer scientist.  But
I do teach students taking math (not necessarily always mathematics
students!), and often ones who are quite afraid of anything where they
have to type accurately (they love to text, of course) and create
loops.

And Python (even with a few Sage-specific changes, nearly 100% of
which are to make invalid Python syntax which has semi-mathematical
meaning into something useful, so not changing valid Python syntax)
happens to be a language that is much less scary for them to use.
There may be other such ones; Sage happens to be written in one such
language, essentially.

That is both all I mean, as well as what I mean, if you take what I
mean.

- kcrisman

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


[sage-devel] Re: "Why Sage?" Website Section

2010-11-13 Thread Eviatar

On Nov 13, 6:32 am, "Johan S. R. Nielsen" 
wrote:
> First of all, I think that such a page put at a prominent place (as
> the entry-page for what is now the Tour, perhaps?) will be a good
> selling point. You need to hook people before they have read pages of
> text, because otherwise most of them will already have continued on.
>
> > David Kirkby wrote
> > There are two separate issues
>
> > 1) The interface language
>
> > 2) What the source code is written in.
>
> This is very true and a big issue! Maybe enough so to deserve having
> two info boxes on this suggested "Why Sage"-page.
>
> I don't think that Python is the perfect language to write mathematics
> software with; I would definitely vote on a much more functional
> language here, e.g. OCaml or maybe even Haskell. However, this would
> cut out so many potential developers, and from this viewpoint, it is a
> bad choice for a large-scale open source project like Sage. Python has
> many merits like it is easy to learn and has little syntax. Just
> trying to imagine writing mathematics algorithms in Java makes my
> stomach turn; soo many type declarations and soo many interfaces, all
> having to be explicitly named and imported, instead of just "going
> with the flow" in the duck-typing of Python (of course, preferably
> using the type inference of functional languages, but oh well). The
> bad side is then no static validation of anything (like type-checking
> and only invoking declared methods and such), which makes it so much
> more important to reread, test, double-test, auto-test and re-test all
> code -- all the time. But as long as the developers succeed in doing
> this well, the users won't see it too much (it makes me worried for
> whether there might be a sort of upper limit on how big Sage can grow
> while still being stable, though).
>
> But I digress; my point is that Python IS a selling point _both_ as
> the underlying interpreter language (which is so many leagues ahead of
> anything in the Ma*-software, simply because of a well-thought,
> coherent syntax and standard library) and as the (main?) development
> language. The first draws in users who care about ease of programming
> (advanced users, teachers and potential developers. I always hated
> Maple for its unsystematic syntax and Matlab for its happy-go-lucky
> interpreter), and the second thing makes it easier for a user to
> transition into being a developer. I personally don't know Cython yet,
> but if a feature or a bug I was interested in came up, I would spend a
> weekend learning it so I could develop with it on Sage; however, I
> might not have cared about learning Cython when I was "only" a Sage
> user in the first place.
>
> Oh yeah, and Eviatar, I just can't get over the fully committed
> geekyness of posting the link as ASCII binary X-D That's just plain
> cool.
>
> Johan

:D thanks. I take pride in it.

Anyway, I made an updated version (linking seems to work now):

http://oi55.tinypic.com/rclh5l.jpg

Anyways, I think most of us agree Python is a selling point. In fact,
on the front page it says, "It combines the power of many existing
open-source packages into a common Python-based interface." I think
that makes discussion on whether Sage should be a selling point
irrelevant for this thread; maybe more suited to sage-flame (in fact,
a thread has already been started there). I made this thread to
propose an accessible introductory page, not redefine the goals of the
Sage project. Let's please keep that discussion out.

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


Re: [sage-devel] Re: "Why Sage?" Website Section

2010-11-13 Thread William Stein
On Sat, Nov 13, 2010 at 7:13 AM, rjf  wrote:
>
>
> On Nov 13, 6:32 am, "Johan S. R. Nielsen" 
> wrote:
>
>> two info boxes on this suggested "Why Sage"-page.
>>
>> I don't think that Python is the perfect language to write mathematics
>> software with; I would definitely vote on a much more functional
>> language here, e.g. OCaml or maybe even Haskell. However, this would
>> cut out so many potential developers,
> ... yada yada...
>
> excessive boosterism.
>
> Consider that symbolic software systems like Maxima/Macsyma, Reduce,
> Axiom, Jacal ...
> were written in Lisp,
>
> and that Mathematica and Maple were written in C dialects...
>
> and even YOU would prefer a different, more functional language.
>
> And then you say Python is still better.
>
> Certainly not for writing math software.    Maybe for writing web
> applications?
>
> Because it has a coherent syntax   Compared to Lisp or Haskell or
> OCaml?
> Because people who know little mathematics and little about
> programming
> can write/alter/debug applications for SAGE???  About which they
> presumably know
> nothing?   And this is because Python is such a winner?
>
> And of course so much of SAGE is not even in Python, but C, Fortran, C+
> +, Lisp, whatever,
> that even that is nonsense.
>
> excessive boosterism.
>
> At best, you might say, some features of Sage can be augmented by
> writing in Python, and
> the user interface looks like Python  (actually it is not, but has to
> be pre-processed).
>
> RJF

FUD

http://en.wikipedia.org/wiki/Fear,_uncertainty_and_doubt

-- 
William Stein
Professor of Mathematics
University of Washington
http://wstein.org

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


[sage-devel] Re: "Why Sage?" Website Section

2010-11-13 Thread rjf


On Nov 13, 6:32 am, "Johan S. R. Nielsen" 
wrote:

> two info boxes on this suggested "Why Sage"-page.
>
> I don't think that Python is the perfect language to write mathematics
> software with; I would definitely vote on a much more functional
> language here, e.g. OCaml or maybe even Haskell. However, this would
> cut out so many potential developers,
... yada yada...

excessive boosterism.

Consider that symbolic software systems like Maxima/Macsyma, Reduce,
Axiom, Jacal ...
were written in Lisp,

and that Mathematica and Maple were written in C dialects...

and even YOU would prefer a different, more functional language.

And then you say Python is still better.

Certainly not for writing math software.Maybe for writing web
applications?

Because it has a coherent syntax   Compared to Lisp or Haskell or
OCaml?
Because people who know little mathematics and little about
programming
can write/alter/debug applications for SAGE???  About which they
presumably know
nothing?   And this is because Python is such a winner?

And of course so much of SAGE is not even in Python, but C, Fortran, C+
+, Lisp, whatever,
that even that is nonsense.

excessive boosterism.

At best, you might say, some features of Sage can be augmented by
writing in Python, and
the user interface looks like Python  (actually it is not, but has to
be pre-processed).

RJF

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


[sage-devel] Re: "Why Sage?" Website Section

2010-11-13 Thread Johan S. R. Nielsen
First of all, I think that such a page put at a prominent place (as
the entry-page for what is now the Tour, perhaps?) will be a good
selling point. You need to hook people before they have read pages of
text, because otherwise most of them will already have continued on.

> David Kirkby wrote
> There are two separate issues
>
> 1) The interface language
>
> 2) What the source code is written in.
This is very true and a big issue! Maybe enough so to deserve having
two info boxes on this suggested "Why Sage"-page.

I don't think that Python is the perfect language to write mathematics
software with; I would definitely vote on a much more functional
language here, e.g. OCaml or maybe even Haskell. However, this would
cut out so many potential developers, and from this viewpoint, it is a
bad choice for a large-scale open source project like Sage. Python has
many merits like it is easy to learn and has little syntax. Just
trying to imagine writing mathematics algorithms in Java makes my
stomach turn; soo many type declarations and soo many interfaces, all
having to be explicitly named and imported, instead of just "going
with the flow" in the duck-typing of Python (of course, preferably
using the type inference of functional languages, but oh well). The
bad side is then no static validation of anything (like type-checking
and only invoking declared methods and such), which makes it so much
more important to reread, test, double-test, auto-test and re-test all
code -- all the time. But as long as the developers succeed in doing
this well, the users won't see it too much (it makes me worried for
whether there might be a sort of upper limit on how big Sage can grow
while still being stable, though).

But I digress; my point is that Python IS a selling point _both_ as
the underlying interpreter language (which is so many leagues ahead of
anything in the Ma*-software, simply because of a well-thought,
coherent syntax and standard library) and as the (main?) development
language. The first draws in users who care about ease of programming
(advanced users, teachers and potential developers. I always hated
Maple for its unsystematic syntax and Matlab for its happy-go-lucky
interpreter), and the second thing makes it easier for a user to
transition into being a developer. I personally don't know Cython yet,
but if a feature or a bug I was interested in came up, I would spend a
weekend learning it so I could develop with it on Sage; however, I
might not have cared about learning Cython when I was "only" a Sage
user in the first place.

Oh yeah, and Eviatar, I just can't get over the fully committed
geekyness of posting the link as ASCII binary X-D That's just plain
cool.

Johan



On Nov 13, 11:48 am, David Kirkby  wrote:
> On 12 November 2010 18:18, rjf  wrote:
>
>
>
> > On Nov 12, 8:46 am, "Dr. David Kirkby" 
> >> I think you have a big bias against python and towards lisp.
>
> > My view is that there has been excessive boosterism for Python,
>
> I agree with you there.
>
> > asserting that
> > it is the solution to some important issues in building a system that
> > is supposed
> > to displace Mathematica, Maple, Magma, (Maxima?).
>
> I don't think anyone believes it will displace those languages.
>
> >  While Python may
> > have
> > some merit in some situations, the case being made for it for Sage is
> > weak,
>
> Given it's your opinion the case for Python is week, what would have
> been best as a user interface language for users?
>
> I can think of a few possibilities worth consideration myself.
>
>  1) Create an entirely new language.
>  2) Python
>  3) Maxima
>  4) A Mathematica like interface
>  5) A MATLAB like interface
>  6) A Maple-like interface
>  7) A Magma-like interface
>  8) Lisp
>  9) Q - 
> seehttp://en.wikipedia.org/wiki/Q_%28equational_programming_language%29
>  10) Purehttp://code.google.com/p/pure-lang/is another possibility,
> but that did not exist until 2008, but is based on  Q, which existed
> prior to Sage
>
> None seem perfect to me.
>
> Given the basic rationale of Sage is to "glue" various bits of code
> together, what in your opinion would have been the best language to
> glue them together?
>
> > which is why I find some bizarre enjoyment in tweaking people who make
> > these claims.
>
> You certainly get some enjoyment out of winding people up. I wish you
> would spend a bit more time contributing practical information though.
> You have helped me, and you have helped others too. You  almost
> certainly know more about computer algebra systems than any Sage
> developer.
>
> A bit less time "tweaking people" and a bit more time "tweaking" the
> Sage source code would be nice!
>
> I'd also have a bit more respect for your opinions if you actually
> tried Sage. It would give you a chance to point out even more
> shortcomings, which I think you would enjoy.
>
>
>
> >  Like so many people know it. (Why not use Java? or PHP?)
> >  Like it is slow but that's OK, you can use Cython (or some

Re: [sage-devel] Re: "Why Sage?" Website Section

2010-11-13 Thread David Kirkby
On 12 November 2010 18:18, rjf  wrote:
>
>
> On Nov 12, 8:46 am, "Dr. David Kirkby" 

>> I think you have a big bias against python and towards lisp.
>
> My view is that there has been excessive boosterism for Python,

I agree with you there.

> asserting that
> it is the solution to some important issues in building a system that
> is supposed
> to displace Mathematica, Maple, Magma, (Maxima?).

I don't think anyone believes it will displace those languages.

>  While Python may
> have
> some merit in some situations, the case being made for it for Sage is
> weak,

Given it's your opinion the case for Python is week, what would have
been best as a user interface language for users?

I can think of a few possibilities worth consideration myself.

 1) Create an entirely new language.
 2) Python
 3) Maxima
 4) A Mathematica like interface
 5) A MATLAB like interface
 6) A Maple-like interface
 7) A Magma-like interface
 8) Lisp
 9) Q - see http://en.wikipedia.org/wiki/Q_%28equational_programming_language%29
 10) Pure http://code.google.com/p/pure-lang/ is another possibility,
but that did not exist until 2008, but is based on  Q, which existed
prior to Sage

None seem perfect to me.

Given the basic rationale of Sage is to "glue" various bits of code
together, what in your opinion would have been the best language to
glue them together?

> which is why I find some bizarre enjoyment in tweaking people who make
> these claims.

You certainly get some enjoyment out of winding people up. I wish you
would spend a bit more time contributing practical information though.
You have helped me, and you have helped others too. You  almost
certainly know more about computer algebra systems than any Sage
developer.

A bit less time "tweaking people" and a bit more time "tweaking" the
Sage source code would be nice!

I'd also have a bit more respect for your opinions if you actually
tried Sage. It would give you a chance to point out even more
shortcomings, which I think you would enjoy.

>  Like so many people know it. (Why not use Java? or PHP?)
>  Like it is slow but that's OK, you can use Cython (or something else
> that is not Python).
>  Like it runs everywhere (but if Guido does X, Y, or Z, we can't use
> the new version)
>  Like it is my favorite language (of the one or two I know).
>  Like it has a natural math syntax (contradicted by almost all
> examples).
>
>
>>This comes out in a
>> lot of what you say. I would think users of Mathematica consider they write 
>> in
>> Mathematica, though the underlying code is probably C, C++, perhaps even 
>> Lisp in
>> many cases.
>
> Everyone writes in binary, in underlying code.

Yes, but using a hex editor and creating binary directly is not a very
practical way of developing software.


> More to the point, I think the big selling point of Mathematica
> initially and maybe even now,
> is presentation of graphics, plotting, etc.  For which there are
> actually much fancier
> programs.  But Wolfram (or whoever designed the graphics) made a nice
> cut between
> complexity and simplicity.

Steven Wolfram is no fool. He is a winner of the MacArthur Fellowship
(nicknamed the Genius Award)  which is currently valued at $500,000 He
is a very bright guy, and loves to let people know it.

As you say, there are better plotting programs than Mathematica. I
forget the one I used to use, but it was closed-source and very good.
But Mathematica does a pretty decent job of it too. What Wolfram did
well with Mathematica was to combine a wide range of maths tools into
one product and to integrate them well.

But unlike MATLAB, I'm not convinced Mathematica has wide use outside
universities. Sure some companies use it, particularly in the
financial sector, but I don't think there's much use of it in
industry. I base that on my experience as a late 40's
engineer/scientist who has worked in a number of commercial companies,
along with results from job searches.

> RJF

Dave

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


Re: [sage-devel] Re: "Why Sage?" Website Section

2010-11-13 Thread David Kirkby
On 12 November 2010 14:04, Johan S. R. Nielsen  wrote:
> A little C-procrastination and relocation to my own site, and Google
> is ok:
>
> http://www.student.dtu.dk/~jsrn/whysage.jpg

I don't like that. It suffers from promoting Sage as being free first.
It is only when you get to number 4 or 5 do we find out it's maths
software.

You show "Free" as being the number one point, as but I provided in a
link, and Richard Fatemen has pointed out, being free is not the most
important thing about Sage, or open-source software in general.

Dave

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


Re: [sage-devel] Re: "Why Sage?" Website Section

2010-11-13 Thread David Kirkby
On 12 November 2010 17:49, Bill Hart  wrote:
>
>
> On Nov 12, 4:46 pm, "Dr. David Kirkby" 

>> When people buy cars, the comfort, economy, look, performance, how nice it 
>> is to
>> drive, are likely to be important to them. I don't suppose 99% care if the
>> engine block is made from steel aluminum. People are usually more 
>> interstellar
>> in the interface they are presented with.

"interstellar" was meant to be "interested".

>> I've yet to see a single complaint from a user that package X is written in C
>> and not in Python.
>>
>
> Sage doesn't run on Windows, so I beg to differ.
>
> Bill.

That's a different issue. If Sage was written entirely in  assembly
code, but run fine on Windows, then Windows uses would be happy.

There are two separate issues

1) The interface language

2) What the source code is written in.

In the case of Sage, the interface is python.

The source code is written in at least all of these:

 * Assembly code
 * Bash shell scripts
 * C
 * C++
 * Fortran
 * GNU variant of C
 * GNU variant of C++
 * Lisp
 * Maxima
 * Python

etc.


Dave

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


Re: [sage-devel] Re: "Why Sage?" Website Section

2010-11-12 Thread Robert Bradshaw
On Fri, Nov 12, 2010 at 10:18 AM, rjf  wrote:
>
>
> On Nov 12, 8:46 am, "Dr. David Kirkby" 
> wrote:
>> On 11/12/10 04:13 PM, rjf wrote:
> .
>>
>> > It seems to me the obvious first point for "Why Sage"  is
>> > that Sage provides access to mathematical software.
>>
>> Well, there are lots of mathematical software too.
>
> True, but at least it gets you in the right ball park.
> Searching for "open source" on google gets 66 million hits.
>
> searching  for "mathematical software"  get 0.25 million.
>
>>
>>
>> I think you have a big bias against python and towards lisp.
>
> My view is that there has been excessive boosterism for Python,

As much of a Python fan as I am, I have to agree here.

> asserting that
> it is the solution to some important issues in building a system that
> is supposed
> to displace Mathematica, Maple, Magma, (Maxima?).  While Python may
> have
> some merit in some situations, the case being made for it for Sage is
> weak,
> which is why I find some bizarre enjoyment in tweaking people who make
> these claims.

>From a holistic perspective (including technical merits of the
language, availability of tools, ability to attract developers, etc.)
I can't think of a language that Sage could have been written in that
would have put us in a better position today. I wouldn't claim it's
the perfect language, but I'd say it was the (or possibly a) right
choice for this project, and can't think of any others that are
clearly superior.

I'm open for suggestions of a different language choice we could have
made and how that would have increased our developer base/user
base/productivity/etc. (Perhaps that would be sage-flame material...)

>  Like so many people know it. (Why not use Java? or PHP?)
>  Like it is slow but that's OK, you can use Cython (or something else
> that is not Python).
>  Like it runs everywhere (but if Guido does X, Y, or Z, we can't use
> the new version)
>  Like it is my favorite language (of the one or two I know).
>  Like it has a natural math syntax (contradicted by almost all
> examples).

I am skeptical that there is (or could be) a perfect language out
there, but I would say that Python is good enough (in fact quite good)
on all the fronts that matter, and perhaps more importantly that
there's nothing that's significantly better. (In my mind there's a
definite partial ordering on languages, but Python's in the un-ordered
or weakly-ordered top for what we're using it for.)

>>This comes out in a
>> lot of what you say. I would think users of Mathematica consider they write 
>> in
>> Mathematica, though the underlying code is probably C, C++, perhaps even 
>> Lisp in
>> many cases.

It is an interesting design decision to have the implementation
language and interpreter language be one and the same. (Well, we do
have a preparser, and there's Cython but it's close--certainly all
could be called dialects). Like you say, Mathematica didn't, and even
the Maxima community decided that lisp wasn't good enough for the user
language. I think this has helped immensely in attracting developers.

> Everyone writes in binary, in underlying code.
>>
>> When people buy cars, the comfort, economy, look, performance, how nice it 
>> is to
>> drive, are likely to be important to them. I don't suppose 99% care if the
>> engine block is made from steel aluminum. People are usually more 
>> interstellar
>> in the interface they are presented with.
>
> Some time ago I was shopping for a new car (assisting my daughter),
> and we were
> looking for safety, reliability, economy, comfort, price,
> warranty ... .  A car salesman showing
> us the models in the showroom had an entirely different set of
> criteria which he
> said were the most important features to customers.  Oddly, there was
> no overlap
> with our criteria.  What were his criteria??? I can't even recall them
> all; I think there
> were five.  Certainly they included
>
> power, handling, speed,
>
> maybe color, monthly payment, interest rate, ... cupholders???
>
> More to the point, I think the big selling point of Mathematica
> initially and maybe even now,
> is presentation of graphics, plotting, etc.  For which there are
> actually much fancier
> programs.  But Wolfram (or whoever designed the graphics) made a nice
> cut between
> complexity and simplicity.  He also was able to capitalize on other
> technology just
> coming out.  the NeXt computer. A new Macintosh. A new device-
> independent graphics standard.
>
> interstellar/?
>
>>
>> I've yet to see a single complaint from a user that package X is written in C
>> and not in Python.

I've heard plenty of complaints that parts of package X written in C
are not yet wrapped (i.e. usable from Python). Most of the pain in
porting Sage to, say, Solaris or Windows is due to the C code, not the
Python code. Usually if functionality is only available in the C code,
people don't even know it's there.

I've also heard developers grumble when they realize that to fix
something, t

[sage-devel] Re: "Why Sage?" Website Section

2010-11-12 Thread Eviatar
Thank you.

On Nov 12, 3:10 pm, David Joyner  wrote:
> On Fri, Nov 12, 2010 at 9:04 AM, Johan S. R. Nielsen
>
>  wrote:
> > A little C-procrastination and relocation to my own site, and Google
> > is ok:
>
> >http://www.student.dtu.dk/~jsrn/whysage.jpg
>
> +1
>
>
>
> ...
>
>
>
>
>
>
>
>
>
> > --> To post to this group, send an email tosage-de...@googlegroups.com> To 
> > unsubscribe from this group, send an email to 
> > sage-devel+unsubscr...@googlegroups.com
> > For more options, visit this group 
> > athttp://groups.google.com/group/sage-devel
> > URL:http://www.sagemath.org

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


[sage-devel] Re: "Why Sage?" Website Section

2010-11-12 Thread Eviatar
All good points. Also, it is probably the most readable of any
mainstream language (Mathematica is awful in that department). I think
it appeals to researchers in fields other than mathematics computer
science since it can be learned quickly.

On Nov 12, 3:02 pm, v...@ukr.net wrote:
> On Fri, 12 Nov 2010 10:46:37 -0800 (PST)
>
> kcrisman  wrote:
> > But now it's a moot point.  Maxima uses Lisp; Sage has Python; XYZ has
> > WTQ; etc.  For some people Python is a selling point; let it be a
> > selling point, then.
>
>   Python is definitely a selling point since
> - there already ARE many people who knows Python thus it would be much
> easier for them to get used to Sage.
> - once Python is learnt, one may use his Python programming skills in
> many many ways - not only for Sage.
> - one need not learn different programming languages to use all the
> software that comes within Sage (Lisp, C,...)
> - Python is one of the easiest programming languages to learn (my own
> experience; and I have some programming practice in some old BASICs,
> Pascal, Delphi, C/C++ and now a bit in Python - so it is not "my
> favourite programming languages of 2 programming languages I know").
> - Python is a general purpose and widely used language; and Sage (as
> far as I know) is the first mathematics software package to use such
> language (I mean the de-facto existing programming language) instead of
> inventing their own bicycle.
>
> Regards,
> Vladimir
>
> -
>  

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


Re: [sage-devel] Re: "Why Sage?" Website Section

2010-11-12 Thread David Joyner
On Fri, Nov 12, 2010 at 9:04 AM, Johan S. R. Nielsen
 wrote:
> A little C-procrastination and relocation to my own site, and Google
> is ok:
>
> http://www.student.dtu.dk/~jsrn/whysage.jpg


+1


>

...

>
> --
> To post to this group, send an email to sage-devel@googlegroups.com
> To unsubscribe from this group, send an email to 
> sage-devel+unsubscr...@googlegroups.com
> For more options, visit this group at 
> http://groups.google.com/group/sage-devel
> URL: http://www.sagemath.org
>

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


Re: [sage-devel] Re: "Why Sage?" Website Section

2010-11-12 Thread v_2e
On Fri, 12 Nov 2010 10:46:37 -0800 (PST)
kcrisman  wrote:

> But now it's a moot point.  Maxima uses Lisp; Sage has Python; XYZ has
> WTQ; etc.  For some people Python is a selling point; let it be a
> selling point, then.
> 
  Python is definitely a selling point since 
- there already ARE many people who knows Python thus it would be much
easier for them to get used to Sage.
- once Python is learnt, one may use his Python programming skills in
many many ways - not only for Sage.
- one need not learn different programming languages to use all the
software that comes within Sage (Lisp, C,...)
- Python is one of the easiest programming languages to learn (my own
experience; and I have some programming practice in some old BASICs,
Pascal, Delphi, C/C++ and now a bit in Python - so it is not "my
favourite programming languages of 2 programming languages I know").
- Python is a general purpose and widely used language; and Sage (as
far as I know) is the first mathematics software package to use such
language (I mean the de-facto existing programming language) instead of
inventing their own bicycle.

Regards,
Vladimir

- 
 

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


[sage-devel] Re: "Why Sage?" Website Section

2010-11-12 Thread rjf


On Nov 12, 10:46 am, kcrisman  wrote:
> > My view is that there has been excessive boosterism for Python,
> Perhaps.
> > So having packages in Python doesn't matter, and therefore it is not
> > really a selling point and
> > maybe should not be mentioned prominently because users don't care??
>
> At least pedagogical users care.

Really? The parts of Sage that are written in python appear to be
entirely conventional kinds of computer science projects ... e.g.
write a read-eval-print loop that has does math and calls programs.

Judging from the kinds of bug reports I see here, it has no special
pedagogical import, and might as well have been written in any
language du jour.

Some people here at Berkeley are enthusiastic about
Ruby on Rails.  Tcl/TK passed by some time ago.

Python/web blah blah is so retro. If it is so great, and Google
loves it, why can't I download python apps to my Google android
phone? :)
Like Sage.  Oh, I forgot, Sage isn't really written in Python,
anyway.

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


Re: [sage-devel] Re: "Why Sage?" Website Section

2010-11-12 Thread Geoff Ehrman
>
> Perhaps the "free" and "open-source" boxes should be merged, since the
> latter implies the former. However, I did mention that the user can
> verify and contribute to the algorithms he/she uses, which I think is
> an important point.


If you're using free in the FSF/GNU sense of the word, open source =/=>
 free. Case in point being Microsoft's shared source license and the other
licenses at
http://www.gnu.org/licenses/license-list.html#NonFreeSoftwareLicense.
However, the terms certainly are related and I'd agree it'd be worthwhile to
combine the points were this to go live.

Cheers,
Geoff

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


[sage-devel] Re: "Why Sage?" Website Section

2010-11-12 Thread Eviatar
On Nov 12, 6:04 am, "Johan S. R. Nielsen" 
wrote:
> A little C-procrastination and relocation to my own site, and Google
> is ok:
>
> http://www.student.dtu.dk/~jsrn/whysage.jpg

Thank you.

On Nov 12, 8:13 am, rjf  wrote:
> It seems to me that being free and open source, the first couple of
> points,
> hardly describes the salient features of Sage, simply because there
> are
> tens of thousands of other programs, including many many losers,
> which are also free and open source.  It doesn't grab me.
> Wouldn't you describe GIMP, as an image processing
> program similar to photoshop, and afterward say it was free?
>
> It seems to me the obvious first point for "Why Sage"  is
> that Sage provides access to mathematical software.

Yes, the layout needs to be changed.

> (I also find the mention that it runs on Python to be [probably
> unintentionally]
> deceptive since, of the hundreds of packages included, many (most?)
> are not
> running on Python, and thus a pythoner who expects to see open source
> python for them will be disappointed.)

The wording should be revised. Maybe "Sage code is written with
Python..."? I know this is not always the case, but inserting a
"usually" or "is derived from" will just lead to confusion.

> I would agree with you. I know I've seen some surveys where individuals have
> been asked what's the most important advantage of open-source.
>
> Here's one, titled "Key Advantage of Open Source is Not Cost Savings"
>
> http://www.computereconomics.com/article.cfm?id=1043
>
> There is shows "less dependence on vendors" as the most cited advantage. I've
> seen other surveys too, and cost is not usually the #1 factor.

Perhaps the "free" and "open-source" boxes should be merged, since the
latter implies the former. However, I did mention that the user can
verify and contribute to the algorithms he/she uses, which I think is
an important point.

Other arguments aside, is there a consensus that a page like this is
needed/wanted?

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


[sage-devel] Re: "Why Sage?" Website Section

2010-11-12 Thread kcrisman

> My view is that there has been excessive boosterism for Python,
Perhaps.
> So having packages in Python doesn't matter, and therefore it is not
> really a selling point and
> maybe should not be mentioned prominently because users don't care??
At least pedagogical users care.  It is possible Python is not ideal
for this or that - though apparently Perl and Python both are very,
very good at binding things together, as it were (?).  But that's not
the main selling point of Python for me, nor for those Jason and I
worked with this summer in our workshop.  The selling point is that it
is easy enough to learn that it's possible to do very basic programs
pretty quickly, even for those with no previous experience.

I don't know if this is unique to Python - almost assuredly not.
You'd want to have an interpreted language, though, for the instant
feedback on simple things - why on earth should someone have to
compile a Hello World?  (Pedagogically, I mean, not if you are
learning a compiled language for some other good reason.)  It should
have somewhat natural syntax for things like loops.  It should have
lots of easily accessible, very clear and basic-level references.  And
so on.   Python does have these traits; probably some other languages
do as well.

I've read the Little Lisper, and Lisp ain't this language.  Though
that is an awesome book.  The Maxima language might be this; sometimes
it seems arcane, but I suppose once one got used to : instead of =
(or, for that matter -> in Maple?), perhaps it would be okay.  C,
Java, C++, all those guys - no.  In fact, there seems to be a big move
from Java to Python for introductory CS - so that students who have
less experience can start programming immediately, without having to
do things like main methods or return types - not that those things
aren't important, but that they are a stumbling block for someone who
wants to learn how to implement an algorithm first.  It's hard to
learn to do two things simultaneously (which is why students
have so much trouble with 'word' optimization problems in calculus; I
just learned how to use derivatives to find maxima, and now you want
me to do so in semi-real situations, even though I don't actually have
any experience doing this in high school because we just learned to
memorize what formula to use in what situation and finding maximum
volumes of boxes or rates of emptying of conical water tanks doesn't
fit that...).

But now it's a moot point.  Maxima uses Lisp; Sage has Python; XYZ has
WTQ; etc.  For some people Python is a selling point; let it be a
selling point, then.

- kcrisman

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


[sage-devel] Re: "Why Sage?" Website Section

2010-11-12 Thread rjf


On Nov 12, 8:46 am, "Dr. David Kirkby" 
wrote:
> On 11/12/10 04:13 PM, rjf wrote:
.
>
> > It seems to me the obvious first point for "Why Sage"  is
> > that Sage provides access to mathematical software.
>
> Well, there are lots of mathematical software too.

True, but at least it gets you in the right ball park.
Searching for "open source" on google gets 66 million hits.

searching  for "mathematical software"  get 0.25 million.

>
>
> I think you have a big bias against python and towards lisp.

My view is that there has been excessive boosterism for Python,
asserting that
it is the solution to some important issues in building a system that
is supposed
to displace Mathematica, Maple, Magma, (Maxima?).  While Python may
have
some merit in some situations, the case being made for it for Sage is
weak,
which is why I find some bizarre enjoyment in tweaking people who make
these claims.
  Like so many people know it. (Why not use Java? or PHP?)
  Like it is slow but that's OK, you can use Cython (or something else
that is not Python).
  Like it runs everywhere (but if Guido does X, Y, or Z, we can't use
the new version)
  Like it is my favorite language (of the one or two I know).
  Like it has a natural math syntax (contradicted by almost all
examples).


>This comes out in a
> lot of what you say. I would think users of Mathematica consider they write in
> Mathematica, though the underlying code is probably C, C++, perhaps even Lisp 
> in
> many cases.

Everyone writes in binary, in underlying code.
>
> When people buy cars, the comfort, economy, look, performance, how nice it is 
> to
> drive, are likely to be important to them. I don't suppose 99% care if the
> engine block is made from steel aluminum. People are usually more interstellar
> in the interface they are presented with.

Some time ago I was shopping for a new car (assisting my daughter),
and we were
looking for safety, reliability, economy, comfort, price,
warranty ... .  A car salesman showing
us the models in the showroom had an entirely different set of
criteria which he
said were the most important features to customers.  Oddly, there was
no overlap
with our criteria.  What were his criteria??? I can't even recall them
all; I think there
were five.  Certainly they included

power, handling, speed,

maybe color, monthly payment, interest rate, ... cupholders???

More to the point, I think the big selling point of Mathematica
initially and maybe even now,
is presentation of graphics, plotting, etc.  For which there are
actually much fancier
programs.  But Wolfram (or whoever designed the graphics) made a nice
cut between
complexity and simplicity.  He also was able to capitalize on other
technology just
coming out.  the NeXt computer. A new Macintosh. A new device-
independent graphics standard.

interstellar/?

>
> I've yet to see a single complaint from a user that package X is written in C
> and not in Python.

So having packages in Python doesn't matter, and therefore it is not
really a selling point and
maybe should not be mentioned prominently because users don't care??

RJF

>

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


[sage-devel] Re: "Why Sage?" Website Section

2010-11-12 Thread Bill Hart


On Nov 12, 4:46 pm, "Dr. David Kirkby" 
wrote:
> On 11/12/10 04:13 PM, rjf wrote:
>
> > It seems to me that being free and open source, the first couple of
> > points,
> > hardly describes the salient features of Sage, simply because there
> > are
> > tens of thousands of other programs, including many many losers,
> > which are also free and open source.  It doesn't grab me.
> > Wouldn't you describe GIMP, as an image processing
> > program similar to photoshop, and afterward say it was free?
>
> I would agree with you. I know I've seen some surveys where individuals have
> been asked what's the most important advantage of open-source.
>
> Here's one, titled "Key Advantage of Open Source is Not Cost Savings"
>
> http://www.computereconomics.com/article.cfm?id=1043
>
> There is shows "less dependence on vendors" as the most cited advantage. I've
> seen other surveys too, and cost is not usually the #1 factor.
>
> I suspect a large number of Sage developers get effectively free access to
> Mathematica, MATLAB etc, as there are site licenses at their uni.
>
> > It seems to me the obvious first point for "Why Sage"  is
> > that Sage provides access to mathematical software.
>
> Well, there are lots of mathematical software too.
>
> > (I also find the mention that it runs on Python to be [probably
> > unintentionally]
> > deceptive since, of the hundreds of packages included, many (most?)
> > are not
> > running on Python, and thus a pythoner who expects to see open source
> > python for them will be disappointed.)
>
> I think you have a big bias against python and towards lisp. This comes out 
> in a
> lot of what you say. I would think users of Mathematica consider they write in
> Mathematica, though the underlying code is probably C, C++, perhaps even Lisp 
> in
> many cases.

Sage does *not* "run on Python".

It would be fair to state that the user language is derived from
Python.

>
> When people buy cars, the comfort, economy, look, performance, how nice it is 
> to
> drive, are likely to be important to them. I don't suppose 99% care if the
> engine block is made from steel aluminum. People are usually more interstellar
> in the interface they are presented with.
>
> I've yet to see a single complaint from a user that package X is written in C
> and not in Python.
>

Sage doesn't run on Windows, so I beg to differ.

Bill.

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


Re: [sage-devel] Re: "Why Sage?" Website Section

2010-11-12 Thread Dr. David Kirkby

On 11/12/10 04:13 PM, rjf wrote:

It seems to me that being free and open source, the first couple of
points,
hardly describes the salient features of Sage, simply because there
are
tens of thousands of other programs, including many many losers,
which are also free and open source.  It doesn't grab me.
Wouldn't you describe GIMP, as an image processing
program similar to photoshop, and afterward say it was free?


I would agree with you. I know I've seen some surveys where individuals have 
been asked what's the most important advantage of open-source.


Here's one, titled "Key Advantage of Open Source is Not Cost Savings"

http://www.computereconomics.com/article.cfm?id=1043

There is shows "less dependence on vendors" as the most cited advantage. I've 
seen other surveys too, and cost is not usually the #1 factor.


I suspect a large number of Sage developers get effectively free access to 
Mathematica, MATLAB etc, as there are site licenses at their uni.



It seems to me the obvious first point for "Why Sage"  is
that Sage provides access to mathematical software.


Well, there are lots of mathematical software too.


(I also find the mention that it runs on Python to be [probably
unintentionally]
deceptive since, of the hundreds of packages included, many (most?)
are not
running on Python, and thus a pythoner who expects to see open source
python for them will be disappointed.)


I think you have a big bias against python and towards lisp. This comes out in a 
lot of what you say. I would think users of Mathematica consider they write in 
Mathematica, though the underlying code is probably C, C++, perhaps even Lisp in 
many cases.


When people buy cars, the comfort, economy, look, performance, how nice it is to 
drive, are likely to be important to them. I don't suppose 99% care if the 
engine block is made from steel aluminum. People are usually more interstellar 
in the interface they are presented with.


I've yet to see a single complaint from a user that package X is written in C 
and not in Python.


Dave

--
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


[sage-devel] Re: "Why Sage?" Website Section

2010-11-12 Thread rjf
It seems to me that being free and open source, the first couple of
points,
hardly describes the salient features of Sage, simply because there
are
tens of thousands of other programs, including many many losers,
which are also free and open source.  It doesn't grab me.
Wouldn't you describe GIMP, as an image processing
program similar to photoshop, and afterward say it was free?

It seems to me the obvious first point for "Why Sage"  is
that Sage provides access to mathematical software.

(I also find the mention that it runs on Python to be [probably
unintentionally]
deceptive since, of the hundreds of packages included, many (most?)
are not
running on Python, and thus a pythoner who expects to see open source
python for them will be disappointed.)


On Nov 12, 6:04 am, "Johan S. R. Nielsen" 
wrote:
> A little C-procrastination and relocation to my own site, and Google
> is ok:
>
> http://www.student.dtu.dk/~jsrn/whysage.jpg
>
> On Nov 12, 12:16 pm, Minh Nguyen  wrote:
>
> > Hi Eviatar,
>
> > On Fri, Nov 12, 2010 at 7:15 PM, Eviatar  wrote:
> > > I made a quick mockup of a possible page, let me know what you think
> > > please:
>
> > Where is the mockup you're talking about. Please provide a URL to that
> > mockup page you created?
>
> > --
> > Regards
> > Minh Van Nguyen

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


[sage-devel] Re: "Why Sage?" Website Section

2010-11-12 Thread Johan S. R. Nielsen
A little C-procrastination and relocation to my own site, and Google
is ok:

http://www.student.dtu.dk/~jsrn/whysage.jpg

On Nov 12, 12:16 pm, Minh Nguyen  wrote:
> Hi Eviatar,
>
> On Fri, Nov 12, 2010 at 7:15 PM, Eviatar  wrote:
> > I made a quick mockup of a possible page, let me know what you think
> > please:
>
> Where is the mockup you're talking about. Please provide a URL to that
> mockup page you created?
>
> --
> Regards
> Minh Van Nguyen

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


[sage-devel] Re: "Why Sage?" Website Section

2010-11-12 Thread luisfe


On Nov 12, 9:17 am, Eviatar  wrote:
> Gah, it won't let me post links. Here it is in binary:
>
> 01101111010001110100011100111010001000100110100101101101011001110011000100110011001100100010111001101001011011010111011001110110010101110011011011110110001101101011001011100111010101110011001001101001011011010110011100110001001100110011001000100011011100111011011110010010011101110110100101110011011101100111011001010010111001101010011101100111

This is what you understand by "approachable and concise manner"? XD

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org


[sage-devel] Re: "Why Sage?" Website Section

2010-11-12 Thread Eviatar
Gah, it won't let me post links. Here it is in binary:

01101111010001110100011100111010001000100110100101101101011001110011000100110011001100100010111001101001011011010111011001110110010101110011011011110110001101101011001011100111010101110011001001101001011011010110011100110001001100110011001000100011011100111011011110010010011101110110100101110011011101100111011001010010111001101010011101100111

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org