tester wrote:Life-based scenario: Are you experiencing instabilities? Nope? Then forget it

Besides FlowStone is for different purposes developed if you haven't noticed, not only for audio.
You missed out one very important word. "Are you experiencing instabilities
YET ?". It's very early days for FS and Ruby, but as the library of downloadable schematics on the forum starts to grow, the potential for problems will grow exponentially....
Scenario 1...tester wrote:Troggie troggie - could you make for me - editable timeline with adding/removing points?
So I write one for you - it's a complex bit of graphics that would really benefit from a new class of objects called "TimePointer". It works great, and the use of "TimePointer" objects makes the code simple to understand so that you can customise it easily. You love it, so you use it inside several of your schematics.
A few months later you need a clock to time the interval between mouse events, for another cool project you are working on. Lucky you - one of the other guys has written a module to do just that - so you download it, put it into your schematic - and now both this plugin and the old 'Timeline' one start behaving erratically.
Because the author of your new 'clock' module also created a new Ruby class called "TimePointer". Those two definitions of the class are guaranteed to have at least one method in common - the most important one of all, "initialize", that creates the a object when you invoke "TimePointer.new".
Are you going to edit and rewrite those two class definitions yourself to fix the problem? What if they are from compiled 'C++' libraries that you don't have the source code for?
Scenario 2...It's now 2020, and our FS toolboxes are full to overflowing. You open one of your early plugins, only to find it's not working any more? Hmmm....
Then you remember that when FS5 was released there was something in the release notes about Ruby having been upgraded to the latest version. The scoping of variables within loops and blocks has been subtly changed, and now there are loads of custom modules inside your plugins that are misbehaving.
This situation does happen - between Ruby 1.8 and Ruby 1.9 there were subtle changes to the way that file paths were parsed for 'requires' and 'loads' - and this messed up quite a few people's nicely worked out Ruby routines. And changes to variable scoping are mooted for Ruby 2.0 when it comes out.
Making sure that each export runs in its own "sandbox" would prevent this by ensuring that each export had access to whichever version of the libraries was current at the time of export.
Now is the time - ESPECIALLY for non-rubyists.So I think it is very good to have a debate about this now, BEFORE we start seeing these problems. The Djinn is now out of the lamp - maybe the developers thought we'd only use Ruby as a form of "Green Code", but the things it can do once you get fully "object oriented" are too powerful to ignore.
As I said before, you do not need to be a Ruby programmer for this to affect you - all of us are using modules we downloaded from the forums every day, and we are used to just plugging them in and they work. We need uploaded modules that use Ruby to be equally robust, precisely because it is the non-Rubyists who are in the weakest position to fix broken Ruby modules.