"Perry E. Metzger" writes:
You can do that safely without making it dangerous for your machine. I know how I would build a restricted execution environment for such markets. However, Java is 1) too slow, since if you are selling rendering cycles or such you don't want to be running an interpreter, 2) insufficently safe, and 3) paradoxically, insufficiently powerful for the sort of code you would want to run in such an environment.
The speed can be significantly addressed by compiling the byte-code to local machine instructions, but given the sheer number of junk cycles that are made available by letting a Java interpreter sell them, it doesn't much matter for some applications. I agree that Java is currently too unsafe. The current Java model may not even be salvageable (that being where I got in on this thread). It's the concept embodied by Java (and it's many conceptual cousins, Scheme, Safe-TCL, E, etc.) that I was talking about. I don't understand what you mean by "insufficiently powerful". It's as expressively powerful as most high-level languages, and computationally Turing equivalent. It's lack of power seems entirely in the performance arena, which may be solved, eventually.