|
On Mon, Feb 6, 2012 at 4:18 PM, Tim Caswell <tim@creationix.com> wrote:
> I agree that a purely cloud-based ide as it exists today it rather
> limiting.
It would make sense for a pure cloud-based backend--but it's interesting brainstorming to find a reason for anyone to put up with that.
The MOO language/environment allows mutually suspicious programmers to build a single system shared by many users. The core idea is that all unprivileged code runs setuid to the person who wrote the code. When you call somebody else's function, you give no permissions to them; they can only mess up their own stuff. All non-object-ref types are immutable, so they can't go dropping nils into your tables just because they can read them. Besides messing up their own stuff, they can exhaust your remaining CPU time--normally based on counting arbitrary bytecode ticks, but backstopped by an alarm signal if somebody manages to do something really expensive in few ticks.
The modern analog might be a github with live hosting: my codebase requires yours, and I'll even track your mainline, provided you only write to your storage. The engine running my app will create a data store for every module I import--unless the module says it would rather store its own state in its own repository.
Dealing with the cross-membrane marshaling/scheduling is the hard bit. By default I want data I give to you to be unmolested across the call, and the simplest way to do that is to deep-copy it. Fancier stuff is possible.
Anyway the first thing to be built will undoubtedly be a wiki so it might be good to have some sharable code for that for people to bring in with one line.
Jay