On 11/14/06, Chad Perrin perrin@apotheon.com wrote: [snip]
For that matter, I think there are JVM-embedded Ruby and Perl interpreters as well. Might as well allow it all, if you're going to do it that way.
I'd prefer we only have one.. simply because I'd rather have one large base of wikipedians speaking the same language than four fragmented groups. .... But I don't really care which one it is.
A solution like this would give us real wikieditable software which we could open to the world, and not confine to sysop priests with java compilers and the patience to work offline.
That's an excellent point about the social significance of how we handle it.
Our site is innovative in many ways...(nearly) instant gratification, open access, revision control (never forget), Free Content, low barriers to entry.. etc.. as we step into the realm of executable content we should not abandon all the things that have made us grand.
I don't know whether Ruby's implementations (there are several, in fact) within the JVM allow them to be run sandboxed and, believe it or not, I don't actually know for sure whether there's a Perl implementation to compare, even though I probably use Perl at least as often as any other single language (and significantly more than Ruby).
Perl .. yuck.. But sure, as I said... I don't care what language. I was hoping there would be some good ECMAscript interpreters in java but because of 'javascript' it's darn difficult to search for.
We need:
0) Can run safely in the JVM. 1) Can perform graphics in the JVM, hopefully sound. 2) near enough to interpreted (compile at preview would be a bummer :) Plus new programmers really enjoy the ability to sit at a prompt and type in code). 3) Used in the outside world (we already have one home grown programming language, we don't need another) 4) Is broadly compatible with the JVMs on client systems. 5) Decent libraries for data handling, graphing, etc a big plus.
I'd rather not make performance a goal.. I'd rather they have facilities for calling java classes we provide.. and we can provide (audited) java classes for anything performance critical... for example video/audio playback or 3D rendering.