FYI, blockly has been very much extended with 3.2.0 and should now cover most of what you usually do within rules (your mileage may vary though ;-)), so it is much more complete now.
Have a look here Blockly Reference and the discussions that led there. As an experience Java Dev I used to be writing everything in DSL and JS before but now I do probably 90% in blockly which is faster and more failsafe.