In an interview with Epicenter, Greg Meredith and Nash Foster broke down one of the key things that makes Rholang unique where other programming languages are lacking due to what can be called a syntax-semantics gap. Nash explained that the simplicity of some languages is deceptive. “You can stand something up and it will sort of work, but you’re going to have a lot of bugs because you don’t really understand what you’re doing. The model of computation is too confusing.
Greg added, “To amplify Nash’s point, even if we’re talking about a strongly typed language that has been bashed on by industry and had lots and lots of commercial code deployed on it like Java, the reality is that Java is a part of a family of languages where, when you’re staring at the code, not everything is in the code. Not everything that results in the execution of that program is in the code. It’s not in front of you. You also have to keep in your mind the stack, the threads that are active, and a whole bunch of other stuff that’s not on the page, which means the programmer’s mind is burdened. There is this cognitive load that’s not supported anywhere on the page. There are models of computation — the lambda calculus was the first one of such and then pi calculus and languages like that were the second such, where the structure-function relationship between what you see and how it executes, everything is on the page. That’s another thing that makes it easier for programmers. When you’re looking at Rholang code, you don’t have to keep something else modeled in your head. You can offload that down to the page. Just look at the page, and reason about what’s in front of you. So it’s actually easier rather than harder.”
To see a further explanation with simple examples, see Rholang vs. the dining philosophers.