On Fri, Nov 12, 2010 at 10:18 AM, rjf <fate...@gmail.com> wrote: > > > On Nov 12, 8:46 am, "Dr. David Kirkby" <david.kir...@onetel.net> > 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, they have to go and edit C code rather than 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?? Having functionality available directly from in Python (or, more generally, a better interface than a C API and/or disjoint collection of special purpose interpeters) is a huge advantage for actually computing with stuff. - 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