Re: [sage-devel] Re: "Why Sage?" Website Section
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
> > 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
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
> 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
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
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
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
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
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
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
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