Best of Both Worlds
The benefits of graphical programming are huge. It's immediate, visual and very easy to learn. However, there are some situations where a small bit of code or a simple formula would be a better solution.
So in FlowStone 2 we've added traditional programming and we've done it in a way that it completely integrates with what's already there. The two programming worlds sit comfortably side-by-side and it all works seamlessly.
The programming language we have chosen to use is Ruby. This is a very modern language that is incredibly easy to pick up. It is very mature and is widely used in the professional world.
Ruby is interpreted, so it runs immediately with no need to compile to an executable or dll. As with everything else in FlowStone, you see your results immediately. With FlowStone 2 you really do have the best of both worlds.
Equation Editor
The new Ruby component in FlowStone 2 makes the perfect equation editor. Even if you have no programming experience, you will most likely have come across equations and formulae and the Ruby component allows you to easily specify these in FlowStone.
Mathematical equations are one of the areas where graphical programming can become more of a hinderence than a help. Now you can simply enter the formula directly. It's quicker and much more descriptive.
Scripted Graphics
Ruby is an extendable language so we've used this to provide a set of graphics functions and objects that give you everything you need to create amazing graphics inside FlowStone.
Drawing complex graphics often requires calculations to be performed during the drawing process. This is hard to do in the graphical programming world but is far simpler with a bit of code.
In addition to graphics we've also added mouse handling so that you can respond to all the usual mouse events all within a single Ruby component.
External API Calls
You can now call functions in external DLLs using Ruby and the Win32API class. You can pass data to the function and have it pass data back to FlowStone. This makes it easy to use proprietry code that you already have or to do intensive processing in an external optimised DLL.
And so much more...
These are just a few of the benefits that Ruby integration and the Ruby component bring to FlowStone 2. In addition to the above Ruby brings support for doubles, comprehensive string and collection handling, user definable data structures using Ruby classes and a whole lot more.
It doesn't just stop with Ruby either. We have a host of other improvements and features coming in version 2 including a brand new toolbox.
FlowStone 2 will be available soon!