On Fri, Apr 4, 2008 at 7:10 PM, William Stein <[EMAIL PROTECTED]> wrote: > > On Fri, Apr 4, 2008 at 7:08 PM, Kemeron Siemens <[EMAIL PROTECTED]> wrote: > > > > Hi I'm Kemeron I am a student and I'm doing and independent study > > project with William involving Sage. The project involves adding > > support for other languages in Sage. I am a double math and CS major > > and I'm graduating this year. I know very little about Sage ( other > > then installing it on my system) any advice would be much > > appreciated. > > > > Just to clarify this, by "adding support for other languages", Kemeron means > creating interfaces (or whatever) between Sage and languages such as Perl, > Ruby, Scheme, etc., that are similar to the Sage interfaces to Magma, > Mathematica, > etc. In particular, this would make it so the notebook could be used with > languages such as Ruby, Scheme, etc., which might be relevant to education, > and would make it so rndom Ruby, Scheme, etc., code is usable in Sage > programs. > Hi,
I just wanted to mention that I have already done some work on adding support for other languages i.e. "other computing backends" (with respect to Knoboo), and this is a future goal of Knoboo. In particular, a couple months back I wrote a simple "Ruby" kernel using Ruby's XMLRPC lib. I don't have it on hand at this moment, but it was very hard to cook up either. ---- I think this once again sort of brings up the "API" discussion, and I personally think the network service approach is really the way to go here. (Going the 'Expect' route is painful, feels hacky, has data size limitations, doesnt work over networks, etc. IMHO) I'm *not* saying that pexpect is bad for communication with specialized math programs (Maxima, for example) within Sage. Actually I think it's perfectly fine. But for more 'mainstream' languages like Python, Ruby, Perl, Java, etc, which have builtin support for things like XMLRPC, this is the way to go. I think everyone can agree that the web will continue to become even more and more ubiquitous. Just look at services like Amazon's EC2 that are just taking off, see: http://www.amazon.com/gp/browse.html?node=201590011 Here's a talk at Pycon 2008 about EC2 + ipython1: http://youtube.com/watch?v=XR3rIVLjA-U Also see: http://en.wikipedia.org/wiki/Cloud_computing I would also like to strongly suggest that an API discussion is not a discussion about speed! It's about communication between programs. The last API thread turned into some benchmarking frenzy - this is not the issue. See: http://groups.google.com/group/sage-devel/browse_thread/thread/c9a9b43d1ab61897/cca642f9cd35e392?lnk=gst Anyways, if other programs can trivially communicate with Sage, then Sage wins! Sage becomes more ubiquitous! That's a good goal, don't ya think? :) -Alex > -- William > > > > > > --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---