On Tue, 05 Dec 2006 09:56:27 -0800, Bobby Moretti <[EMAIL PROTECTED]> wrote: > On 12/5/06, David Harvey <[EMAIL PROTECTED]> wrote: >> On Dec 5, 2006, at 12:29 PM, William Stein wrote: >> > You know, honestly, the problem of how to express do Calculus with >> > a computer algebra system is not exactly a new one. It's been >> > to some degree completely and totally solved by Mathematica. >> > Maybe the real discussion we should be having is how can we >> > make a basic interface to SAGE for doing calculus that is very similar >> > to mathematica's? Only if there is a strong technical reason why >> > something is not possible in Python, should we even be having these >> > discussions. Basically, before we continue going along the route >> > suggested by you and Robert, I would like a very good justification >> > for why Mathematica/Maple got it wrong (despite millions of users >> > and two decades of polishing and work). Otherwise, I don't understand >> > why we don't just do something similar to Mathematica. This reduces >> > the learning curve for some people a lot, and means we spend time >> > solving problems instead of coming up with a new design that is >> > probably >> > wrong anyways, then spending a lot of time testing it, only to find >> > that it really doesn't work for various reasons. >> >> I agree with these sentiments. The only problem is that perhaps >> Mathematica semantics differ considerably from Python's from the >> ground up, and this would make it very difficult to have both in the >> same interface.
This is not true, and the graphics project Alex carried out proves it. Things get made "pythonic", but fundamentally Python supports a wide range of ways of programming (e.g., functional, object oriented, procedural, etc.,). >> I haven't used Mathematica for a long time, but when >> I did, I distinctly remember the feeling of never being quite sure >> what the "type" of my objects was; whereas Python has a very strong >> notion of type. But it could be simply that I hadn't had much >> programming experience back then. >> >> I wish I could contribute more usefully to this discussion, I think >> it's an extremely important one, because being able to do calculus is >> critical to SAGE's mainstream acceptance. But I just don't have >> enough familiarity with Mathematica/Maple. (Or calculus for that >> matter. Crap I have to go and teach div/grad/curl in 60 minutes.) >> >> David > > I agree as well. Regarding the type issue, I think you're wrong to be worried. If I believed you, I would have never been able to write the SAGE interfaces to PARI/Mathemtica/etc. that I already wrote. Also a single variable "x" in Python can have hundreds of different types during the course of a session (i.e., Python is not strongly typed). And you should maybe think less about Maple/Mathematica than about Maxima, which inspired both of those programs, and which is part of SAGE already. > Any language issues aside, there's no reason at all > to reinvent the wheel on this. However, there are some issues that we > have do deal with that are no problem for maple or mathematica: >> We have a serious design challenge which is >> to make something that really does both calculus and serious math. I >> say >> we face that challenge head on and find a good solution, even if it >> means >> a lot of very hard thought. I like the challenge. > > I think a smooth transition between calculus and 'serious math' is > key, or at the very least being able to naturally use both in the same > session. > > While it will be nice for SAGE's calculus interface to be immediately > available to Mathematica and Maple users with no learning curve, it is > just as important that we minimize the learning curve for someone who > knows calculus, but may not know any computer algebra language. > > It's been a while since I've used Mathematica myself. From what I > recall, Mathematica handles basic calculus pretty well. I'm going to > go refamiliarize myself with it a bit today... Very good. Do the same with Maple *and* Maxima. William --~--~---------~--~----~------------~-------~--~----~ To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~----------~----~----~----~------~----~------~--~---
