Wasn't one other neat thing about Snap! and Scratch that you can translate the entire code (except for the user-named parts) to any other language on the fly without worrying about it breaking? Because in a sense the language is just part of the "presentation layer" of the blocks?