Hacker News new | past | comments | ask | show | jobs | submit login

This is technically OT from this post, but let me try to field your question more satisfactorily than the web pages I'm able to find with DDG:

I think the initial struggle will be getting used to an RPN calculator if you've never used one before. (Some of them are a bit idiosyncratic.) But RPN notation itself is probably closer to how you actually solve many problems on paper. Long division is a good example.

In most modern "algebraic" calculators, the style often encouraged is to key in complete equations chock full of parens and notation (often represented graphically) from left to right with the expectation that calculator is smart enough to do the right thing when given your input values and the crank is turned (push ENTER). But there are sometimes surprising evaluation order gotchas even between different calculator models, even those made by the same manufacturer!

RPN is somewhat more rudimentary, making the user generally responsible for the order of evaluation by solving equations piecemeal. But as a result, you are rewarded with more consistency, fewer WTF moments with unexpected answers (since you're typically calculating intermediate values as you go), fewer keystrokes needed for solving most problems you'd typically use a handheld calculator for nowadays, intermediate values that can be efficiently (re)used on the stack as many times as needed (removing most of the need for additional registers), is more intuitive for making very compact and memory efficient algorithms (not the perk it was back in the day, arguably), and a keystroke programming model that closely corresponds to the way a user normally solves problems with the calculator manually. A simple but effective demonstration of the above features is solving a polynomial with an RPN calculator and a typical TI.

So I'd say difficult mathematics will remain difficult. But the analogy that comes to my mind would be the difference for the driver of an automatic transmission versus a manual transmission. Or a black box that does too much, leaving the user unsure of the full breadth of its function. RPN prevents the user from becoming too distant from what (s)he is calculating, while still providing all the power and abstraction needed not to be bogged down (too much) by the mechanics of the calculation itself.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: