mabshoff wrote: > > Since Sage takes inspiration from Mathematica in so many other areas, > > my thought is that using mathlink as a starting point for what a Sage > > API should look like would make sense too. > > I think that API is just ludicrously heavy and way to complicated. > Sage development has always been guided by KISS and the above diagram > is far from that ideal.
I see webMathematica being used all over the web so to me the Mathematica API appears to be performing its job beautifully :-) > Well, in the end there ought to be only one distribution - there is no > point in forking the codebase. How can code that only talks to Sage through an API be used to fork Sage? > In the very end I need to quote Linus: Talk is cheap, show me the > code. As long as this is all planning and hand waving I see little > benefit from having this discussion. But Michael, I *have* submitted code, quite a bit of it... I started participating in Sage about a year ago and at that time I prioritized the list of areas I could contribute in. At the top of the list was Sage's documentation because it was a mess (actually it still is, you guys *really* need to fix that) and that is when I began work on the Newbies book. As the Newbies book started to become useful, I decided to experiment with having an external language communicate with the Sage computation engine and I devoted a significant amount of effort into creating SAGEIDE: http://sage.math.washington.edu/home/tkosan/sageide/ I was very excited when I actually got it to work but when I posted it for evaluation, only one developer bothered to look at it. "Wow", I thought, "tha's strange, the Sage developers are usually so eager to evaluate new Sage-related things people make. Maybe I am just too new to Sage and need to prove myself more." Time passed and I saw that people were really wanting Sage to have 3D capabilities, but the "Java3D in the browser" approach was not working too well (I told people that using Java3D in the browser was a bad idea, but nobody listened). So I put a bunch more effort into adding Java3D to SAGEIDE and it worked beautifully! However, when I posted it for people to look at, there was still almost no response... Then I talked myself into thinking that Sage developers only got excited about code that was either added to the Sage computation engine or to the notebook (despite the fact that they had no problems looking at all kinds of python and AJAX-based applications that people would periodically find on the Net). "Okay", I thought, "I'm flexible, I'll adapt." I didn't have the mathematics background to contribute code to the computation engine (I still don't) so I started studying the notebook code (which was extremely painful, BTW, because it has almost no documentation). My first step was to get my mind around python better, learn JavaScript from scratch, and start digging into the notebook code. I decided that my first contribution to the notebook would be to figure out a good way to allow Java applets to communicate with both the client and server part of it. Yet again, I was very excited when I got it working and by this time I had even learned enough to create a spkg and a trac ticket for it: http://trac.sagemath.org/sage_trac/ticket/1510 I thought that surely by now I had paid enough dues to merit some attention from the core Sage developers (especially after volunteering to create the JMOL-src package on short notice over Christmas because it was needed ASAP. Robert will confirm that this was not a trivial task). But not one of you guys has bothered to look at the work I did, even after repeated requests to do so since it was submitted over 2 months ago... By this time I could not hide from the fact that the reason you guys were not looking at my submissions was because they were all written in *Java*. This became amply clear in the Wiris email. Show you the code? I've been trying to show you code for months now, but I can't force you to look at it :-) > As you mentioned yourself there > is plenty of work in trac to do. So far nobody else has jumped in on > your side and volunteer his or her free time and energy to make things > happen. Do you think that I was the only person who noticed the way I was being treated by you guys? Did it ever occur to you that a significant number of the people on "my side" learned to use Sage by reading the Newbies book and thought "if Ted gets treated this way when he tries to make a contribution, how are they going to treat me?" Also, it is kind of strange to complain that people don't jump in and help work through the trac tickets while at the same time expending almost no effort to write good documentation which clearly explains Sage's architecture, theory of operation, code organization system, etc. You guys keep promising to come through with stuff like this, but it never happens. The way things are now people are forced to needlessly waste much of their limited time and energy just trying to understand these fundamental things :-) Switching to everyone now... The reason I decided to join the Sage project was because I thought Sage could be an excellent way for students to learn mathematics. Its not my fault that the number of students and teachers using Java applet-based mathematics software in the world completely dwarfs the user base of any other mathematics software (a fact that seems to elude most of you). These teachers and students *love* Java because of how it has enriched their lives and it seemed obvious to me that the best way to reach out to these users was to take the software they already loved and make it even better with Sage. I can see now that this is not going to happen for the simple fact that too many of the core Sage developers have an unreasonable dislike for Java. What you guys don't seem to realize, however, is that all of the negative posts you have made about Java over the past year have effectively given Sage the "kiss of death" as far as its use in high school and early college education is concerned. Java applets dominate the educational mathematics software space and the developers who created these applets own this space. Over time these developers will probably learn about Sage and come take a look at it because it has capabilities they don't currently have. But the first thing they are going to do when they get here is to search for the word "Java" in the email lists (I did), read all of the silly (and often mean) things you guys have said about Java over the past year, leave, and then tell all of their developer friends and users to avoid Sage. The same thing will also happen if any Java-centric company comes to take a peek at Sage (such as Sun, IBM, etc.) or companies which have a bunch of Java developers (like Google: http://www.google.com/support/jobs/bin/search.py?lr=lang_en&type=f&query=java&Action.Search=Search) Anyway... I am going to take some time off from Sage and go help out the GeoGebra community for a while. The 100,000 users they have over there that need support is a pull that is too strong for me to resist at this point :-) There is no need to respond to this email because I will also be unsubscribing from sage-devel and sage-support for a while too. Over time the Newbies book will become out of sync with Sage and so someone will either need to maintain it or remove it. On a lighter note, I don't have any hard feelings for anyone here. In a recent email to David Joyner I indicated that the Sage development team was amazing and I still hold that view :-) Ted --~--~---------~--~----~------------~-------~--~----~ To post to this group, send email to sage-devel@googlegroups.com 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://www.sagemath.org -~----------~----~----~----~------~----~------~--~---