I will mention there's one drawback to the ref-by-string in RAPID that I've run into personally. When coming cold to a large, complex software package that's not heavily documented and/or commented, the ref-strings make it much harder to track down the whole program flow. Because now instead of simply using RobotStudio's Find All References tool, or even doing a mass text search, you now have to do those and then track down every %"string"% occurrence in the entire robot, and backtrack, and then backtrack every line that sets a value to every one of those string variables.
Makes for a lot more work trying to build a flowchart. When you think you've found every way a PROC can be called, there's always a chance of some call-by-string you didn't catch calling it. Based on my experience, even when I have that option, I tend to use it only sparingly, if at all.
True, Definitely can see that. Although I want to add in all of this (maybe I didn’t actually say this) but I’ve only been talking about using strings to run background/system level stuff. Nothing that the average user needs to mess with. All of the front end stuff make as simple and readable as you can for sure.