One thing is automatically preserving state across a reload. This is really hard if I allow the programmer to store state any way that they want- I can't tell which things I should preserve. So the language forces the programmer to declare their stateful things in a special way.
Another thing is introspecting on code. I want to be able to click an image and then see all of the calculations that went in to that image's position (maybe so that I can change them). But this is pretty hard in most languages. Aliasing makes it hard. So this language discourages operations which are hard to introspect.
So I could theoretically support Ruby or something, but it would turn out to be "not really Ruby", because there would be a lot of stuff you wouldn't be allowed to do.
It's a great engine in general: http://unity3d.com
... and you have about a 1/3 chance of it crashing if you are using the recompile on the fly as you edit.. command p, alt+tab, save, alt+tab, command p...