Javascript (JS) is the programming language with arguably the largest number of programmers in the world. Maxima might as well take advantage of all the effort that tens of millions of people have put into this language.
Javascript may be ugly (at least to a Lisp eye) to look at, but it uses widely understood C-style syntax, has an incredibly flexible run-time typing system, garbage collection, and *** full lambda closures *** (which weren't even part of MacLisp at the time much of Maxima was written; full closures are included in Common Lisp, however). Good news: JS assumes 64-bit IEEE double floats; bad news: no (standard) bignums, although there are several slow bignum libraries. But I'm not recommending Javascript to replace Lisp -- I'm recommending using Javascript/HTML5 to implement the front-end interface to the user.
The Firefox web browser is fully supported on Linux & is free. I would suspect that nearly 100% of Linux users use Firefox as their preferred web browser. Firefox fully supports Javascript.
http://www.mozilla.com/en-US/firefox/all.html
Javascript is an international standard aka "ECMAScript":
http://en.wikipedia.org/wiki/ECMAScripthttp://www.ecma-international.org/publications/standards/Ecma-262.htm
To see Javascript in action on cool 2D math-related graphics, turn on Javascript in your browser & go to:
http://jsxgraph.uni-bayreuth.de/wp/
I'm not the biggest fan of Microsoft, but Internet Explorer 9 w/HTML5 has some impressive capabilities, including a pretty darn good Just-In_Time (JIT) compiler for Javascript:
http://ie.microsoft.com/testdrive/Benchmarks/SunSpider/Default.htmlhttp://ie.microsoft.com/testdrive/
I'm sure that Firefox will be catching up to IE9 in terms of performance as time goes on.
HTML5 graphics will take advantage of the shaded graphics & RT animation capabilities of your hardware graphics cards (nVidia/ATI/AMD/etc.):
http://en.wikipedia.org/wiki/Canvas_elementhttp://blogs.msdn.com/b/tims/archive/2010/11/02/pdc10-introducing-html5-vector-graphics.aspx
Once again, I think it would behoove the Maxima community to provide a Web (i.e., Javascript) front-end for Maxima.
At 10:01 PM 3/21/2011, Richard Fateman wrote:
>On 3/21/2011 1:44 PM, Henry Baker wrote:
>>...
>
>>http://www.w3schools.com/js/
>>
>>They aren't perfect, but they're pretty good, and they're Google searchable, which helps enormously.
>>
>>P.S., I would love to replace the existing Maxima front-end with a browser-based one, so that I could utilize some of the interactive javascript graphical tools -- e.g., JSXGraph.
>
>there seems to be a commitment on the part of some people to run on the lowest common denominator
>of hardware, OS, and lisp implementation. I don't know how much support there is for javascript on
>various linux systems; I have been thwarted in using foreign function interfaces in Maxima because
>I don't care to bring up 4 different systems, and GCL seems to be lacking any realistic prospect
>at all of a FFI.
>
>The wxmaxima front end is pretty good, I think, and seems to run on linux, windows, and Mac.
>
>the xmaxima front end is, in fact, a primitive browser with two windows, one window being maxima.
>
>RJF