I've had to work with reverse polish notation on a regular basis for years yet to this day I still can't get my head around even the most basic expressions with more than a couple of operators. I've resorted to writing the required code in regular notation then using a script to reorder it to RPN; If I can't 'get it' after hundreds of hours I'm never going to 'get it'.
I recently wrote a Reverse Polish Notation mode for my Ti-84+CE.<p>It's significantly more efficient when you have an entire page of calculations with tons of parentheses to get through. Try it out, especially if you're nostalgic for your old engineering calculator—this brings the best of both worlds.<p><a href="https://github.com/arjvik/RPN-Ti84" rel="nofollow">https://github.com/arjvik/RPN-Ti84</a>
Any sufficiently complete explanation of RPN contains half of a poorly written Forth implementation. ;-)<p>Seriously, this is MUCH simpler than recursive descent compilers or lex/yacc/bison.<p>Add a good typing system to it, and you've got STOIC, a programming language from the 1970s.