▲ | Arainach 3 days ago | |
This is a really weird hill to die on. HP tried hard to make RPN a thing and even among engineers eventually lost out to notation that is easier to work with. People read in one direction - in English left to right. They read faster and comprehend better when they can move in that direction without constantly jumping back and forth. > (15 - 6) * 20 / 4 + 2 ^ 3 + 7 + 8 - 3 * 2 (15-6)*20/4 can be read as one block left to right 2^3 can be read as one block left to right. Jump back to the operator (count: 1) 7 + 8 continue left to right 3*2 is a block, jump back to operator (count: 2) So that reads left to right as speakers of most western languages do with only two context shifts. Now let's try RPN: > + + * - 15 6 / 20 4 ^ 2 3 - + 7 8 * 3 2 ignore, ignore, ignore, ignore. 15, 6, context shift (1) ignore? 20, context shift (2) 4, context shift (3) ignore? 2 (wait, am I supposed to use that caret? I'm already confused and I've used RPN calculators before. Counting this as a context shift (4)) 3, context shift (5) two more operators and I don't really understand why any more basically, RPN makes you context shift every single time you enter a number. It is utter chaos to understand of jumping back and forth and trying to remember what came before and happens next. Even if you're used to it it's dramatically worse for humans, and no one cares how much software it takes to parse. Incidentally from my experience with RPN calculators I'd have expected 15 6 - 20 * 4 / 2 3 ^ + 7 + 8 + 3 2 * - Though it's not really better since instead of context shifting after every number you have to context shift after ever operator to try to remember what's on the stack |