36 comments

[ 2.8 ms ] story [ 71.1 ms ] thread
I have a 48SX on my desk that I use almost every day. It's not just the notation and interaction that is nice as there are plenty of calculator apps that support RPN. The tactile feel of the keys gives good positive feedback that you haven't missed a digit when calculating in a hurry.
apt-get install rpncalc
Better yet: "apt-get install x48"
E: Unable to locate package x48 :-(
Reverse-Polish notation is safe and good. I use M-x calc, mylsef.
I have a 12C as well. The OS X desktop calculator has an RPN mode, but the very best RPN desktop calculator is Emacs Calc. It has an infinite stack, is programmable with Lisp, and can even operate on formulas in other buffers.
I'm sure that part of the reason I found Lisp syntax so natural, when I first encountered it, is that all the time I had spent in high school using RPN calculators had already warped my brain^W^W^W helped me escape from the tyranny of being able to think only in infix.
Many years ago I was working on a project that required development in Lisp, C and PostScript. If sort of agree that jumping from Lisp to PostScript and vice-versa was somehow easier that jumping from either into the infix world of C.
We put RPN mode on eCalc. Just click on the ALG menu button on the top right.

http://www.ecalc.com/

When we started with the project, I was a die-hard RPN guy. However, buy the end I was converted over to using algebraic. There's a little tear in the corner of my eye right now.

Being able to see the stack is a great feature. Thanks!
I'm so much an RPN geek that I have an HP 41CX emulator for my phone, because my physical calculator isn't everywhere. (It's actually an excellent emulator, but of course there's no tactile feel to be had from the keys, which I miss a lot)
I use the 12C emulator and love it. Much cheaper than buying one for $65. Learning RPN changed the way I program, which is crazy because it takes 15 minutes to learn at most.
Emulation is a good idea. HP spent a huge amount of resources to try to ensure their calculators return the best possible numeric results. It is an issue many people forget about, for example, compare the statistical function accuracy of Excel vs R or Gnumeric.

As an example in the calculator world, I like free42 and had it installed on my Palm. However, I don't have the same confidence in it as I have in my HP-48 or my HP-35s. If I'm doing engineering calculations then I really prefer to use a real HP calculator or an emulated one using original firmware.

One of the sad things though is that hp has really declined in quality calculators, if you look around you'll find quite a few problems regarding accuracy in the new 35s close to critical values. (Though they may have updated the software version since my purchase a few years ago)

I do like my giant hp50g for anything that doesn't need matlab though, and the 35s is still pretty good despite its errors (especially since I know where the errors exist).

Funniest thing is "RPN sounds like a joke" - like they're discovering it for the first time. Isn't RPN the next chapter after hexadecimal in The Short Course for Computer Geeks?

New tech interview question:

1 2 + 3 * 4 - 5 / =

Not everyone at 37signals is a programmer.
Neither is every geek, but fair point.
Seriously, RPN was freshman year stuff for me. Did all the schools somehow ditch the classic "write a calculator" assignment?
I recall learning prefix before I learned RPN. Then again, our teaching language was scheme. Writing an RPN calculator was one of the first homework assignments, though.
It's a good introduction to stack-based programming and yeah, it's normally brought out early in CS classes (or used to be).

1 2 3 4 5 + / - * = ...

(comment deleted)
I know a guy who likes to tell the following story about how he learned RPN:

Back in college, his calculator battery died right before a big test. He borrowed his roommate's calculator. It was an HP calculator.

After failing that test, he made a point to both learn RPN and always keep extra batteries.

My dad had a HP25 (not C), which was the first calc I ever used. I can't use a algebraic calc (drives me nuts). I had an 11C, then a HP15C in college, sold em both to get a HP71B. Now I collect these when I can. There's something nice about holding the HP quality in your hand. I've picked up a number of HP48's off craigslist over the years for cheap: I've never used them "in anger" but wow they've so much better than the single-line display calcs (to say nothing of their programmability) that got me thru college. My dad still uses his HP32SII for engineering calcs on the go...
My dad worked for HP when I was at high school so I had a 12C. It was great, mostly because no-one else would just "borrow it for a second" due to the RPN.

A few years later I bought a paddock car for $150 (for a demolition derby on a friend's property) and it had a 12C in the glovebox. I sold it for $100. 150 [enter] 100 [minus] = $50 car.

This article deserves upvoting just for the title alone.
Don't forget the unix version:

   mac:~ sam$ dc
   2 2 + p
   4
   mac:~ sam$
That is frankly awesome. People think there's something wrong with me for using dc instead of bc in Unix shells.

Not sure I can justify £50 to buy the hardware version, though.

I love my 48G ... it got me through Calc I/II/III and DiffEq.
A friend of mine is so fond of HP calculators he wrote a complete language inspired by RPN, Reverse Polish Lisp (RPL) : http://www.rpl2.net/
In high school and college I used a HP48GX first and then a HP49G. Now I'm using Emacs Calc.
I have an HP 35s which I found to be a lovely calculator which got me started with RPN. Unfortunately, I wasn't able to use it at school for my final exams since they had a list of specifically approved calculators (which the 35s would never have made since it's programmable). I switched to the Casio fx-82AU Plus which graphically displays your calculation, meaning you don't have to keep track of the inside-to-out expansion of RPN or the mountains of parentheses you usually require in algebraic mode. They're both good systems, but I can see the graphical display being more useable for most people (despite being awfully slow).
The default OSX “Calculator” has RPN support as well, just press cmd-R. Handy to know if you forget your 12C.