Now in 2012, my quest seems to be over as I probably found my machine. Before I begin, let's state that this fine piece of technology probably isn't for you. Once, you cannot hide trailing zeros after the decimal point. Even worse, this calculator only operates in RPN mode. The commonly used algebraic mode isn't even an option! However I got used to RPN on another HP device and find it more efficient and more elegant than the algebraic mode.
5x3 inches case size means it fits in my shirt bag.
The mechanics
I bought an HP-15c Limited Edition. It cost me outraging 80 €. You can get calculators with a lot more functions for half the price. Still, I don't regret the purchase a single bit.
This calculator has a single-line display. No distraction with seeing two numbers at once. The single-line display keeps the form factor small and handy, I can actually put the 15c in my shirt bag. It is a true pocket calculator.
The display has very good contrast. It does NOT use dots to compose the digit glyphs, it uses a 7-segment display instead. One can swap point and comma for decimal separator and thousand separator. As I am from Germany, I use the comma as decimal separator.
Then the keyboard! Forget your cheap Casio keys. This machine has wedge-shaped keys which also give you some feedback when you press them. I doubt this re-release of the HP-15c offers the same mechanical quality of the original machine, but it's still above other calculators I own.
Layout
The best thing on this device is the extremely well thought-out layout. Keys are arranged in 4 rows and 10 columns. The entire right half is used for number entry and basic arithmetics. The Enter key spans two rows. The left part of the keyboard offers scientific functions and commands for programming.
I looked for something to complain, but didn't find a fault with anything. In fact I have to praise the logical stringency of the key assignment. Any single key position and function assignment feels natural. For example, the 1/x operation and the change sign operation are on keys next to each other.
The backspace key also offers to clear the entire X register with down-shift. The key to change the sign allows to cut any sign (calculate the absolute value) with down shift. FRAC and INT are on the same key, just with a different shift. Shifted functions like the FIX, SCI and ENG options are easy to find.
There are shortcuts to run programs. No “File” submenu or something. Anything can be reached directly through the keyboard.
Less use of the shift key
STO and RCL for variable usage are available without shift. It is also possible to perform some calculations to change a variable value without the need to recall it first. Register scrolling (an RPN feature) and X-Y register swapping are available without shift, too. 1/x and y^x are available without shift, again. I use those functions frequently.
Some operations need an function on a shift key while that shifted function is the only logical input from that key. The calculator smartly knows this so in this case one can omit the shift key.
Functions
The 15c offers most of the functions you expect from a scientific calculator. Percentage difference calculation is also offered. I need this rather often at work.
Complex numbers are supported, though the handling of them is a bit tricky since only one component (real or imaginary) can be displayed at a time. Most functions work seamlessly in complex mode, including trigonometric functions. The calculation of e^-iπ results in a small error in the imaginary part as π cannot be represented accurately with a limited number of digits.
Some functions like matrix operations are limited to real numbers though, but it is possible to effectively work with complex matrices with some extra steps.
The statistic functions are limited to linear regression. No other approximation is provided. The gamma function is offered, though. Numerical root-solving is available, too, as is numerical integration.
Considering the single-line display, matrix handling is surprisingly practical on the 15c. Many calculator operations work with matrices, it is also possible to calculate some norm forms or the determinant of a matrix. It is very easy to invert a matrix. So linear equations can be solved very efficiently. The calculator offers a user mode which automatically shifts the index one further when STO or RCL is used to set or recall matrix elements.
Programming
I sometimes need the logarithm to the base of two, and the according anti-logarithm 2^x. So I programmed those functions to complete my calculator. One can use up to five letter labels (A - E) for programs, up to 10 number labels (0-9) and 10 more labels (with a leading decimal point.) The letter labels are the quickest to reach, the other 20 can be called with GSB (Gosub.) Thankfully, GSB doesn't require a shift.
In user mode, one does not even need to use the shift key to call a letter program. The original functions on those keys do not vanish in this mode, they are still available but through shift this time. Sometimes I need to add or subtract VAT or convert between currencies. Thanks to the user mode I can use the 15c like a simple business calculator, too, and perform these operations with a single keystroke.
The programming capability doesn't clutter up the keyboard by much, only 4 of the 39 keys are mainly used for programming.
Now you laugh about the calculator's memory of mere 448 free bytes, shared between programs and user data. A number occupies 7 bytes of the precious memory. Still the capacity is sufficient to actually write programs. The total memory capacity seems to be 512 bytes, but some memory is needed for the RPN stack and internal registers / flags.
There is even a good thing about the limited space: Both the count of instructions as well as the maximum data for matrices (up to 64 numbers spread over a maximum of 5 matrices) can be grasped by the human mind.
Of course, indirect addressing is supported for programming purposes. Conditional branches and user flags can be used. Looping and nested subroutine calls are available. The user also has control over the memory allocation. But all those things are not getting in the way when one wants to quickly record a macro to perform a sequence of calculations for different values.
Now it gets a bit silly
The key to _ch_ange _s_ign is not labelled +/- or (-). Instead it's CHS. I find +/- and (-) a bit distracting as I consider it a mathematical operation at a first glance. CHS is much better! Similar, the key to _e_nter the _ex_ponent is not just E, it is EEX. When I see “E” I often wonder if they mean e, but used a capital letter, or is it somehow a variable called E? EEX on the other hand is clear.
No matter if I use the calculator while it is placed on the desk, or if I hold it in my hands, I can reach the keys I need to use with easy. The size seems to be right. Keys are not too big and there is enough space in-between to avoid the accidental press of a wrong key.
The display has only 10 digits and the calculator also uses just a 10 decimal digits for the mantissa. So there are no hidden digits. I considered this a disadvantage at first, but then noticed that this lets me check for rounding errors after each operation. The 15c doesn't look fancy, it has a clear design which just tells you "use me to compute the value you are looking for."
Back to sanity
Is the 15c perfect? No, but mainly because one cannot have two things which are mutually exclusive.
Of course I own other calculators, offering a fraction mode, a way more convenient usage of complex numbers, a more powerful equation solver and other things. But almost any calculation I need to be done can be performed on the 15c with fewer keystrokes compared to other models I own. The neat thing is: When I just need to divide two numbers, I still use the 15c, because simple calculations can be performed in an efficient way, too. That is why this addition to my calculators became the most frequently used machine, by far. The programmability also expands the usage, for example I can have my binary logarithm. Or VAT calculations.
According to Wikipedia, the original 15c was released in 1982. That means: 30 years ago. The technology available at that time obviously limited the functionality which could be implemented at a particular price point, so HP really needed to choose. The development was probably done by guys who design calculators to use those themselves. The result is a feat of engineering which can hardly be praised too much.
Even when I do some simple math for Diablo 3 item bonus calculations, I use the 15c. When I need to compute the difference of two intervals on a musical scale, I use the 15c, too. For more complex calculation I can quickly program this machine without learning a programming language as I just record a sequence of keystrokes.
This device delivers an experience which transcends the everyday calculator. Instead of having the feeling to operate a machine, I just perform a calculation.
The limited edition number of my device is 21856. Why isn't this calculator still in normal production?