Hewlett-Packard HP-39G

Datasheet legend
Ab/c: Fractions calculation
AC: Alternating current
BaseN: Number base calculations
Card: Magnetic card storage
Cmem: Continuous memory
Cond: Conditional execution
Const: Scientific constants
Cplx: Complex number arithmetic
DC: Direct current
Eqlib: Equation library
Exp: Exponential/logarithmic functions
Fin: Financial functions
Grph: Graphing capability
Hyp: Hyperbolic functions
Ind: Indirect addressing
Intg: Numerical integration
Jump: Unconditional jump (GOTO)
Lbl: Program labels
LCD: Liquid Crystal Display
LED: Light-Emitting Diode
Li-ion: Lithium-ion rechargeable battery
Lreg: Linear regression (2-variable statistics)
mA: Milliamperes of current
Mtrx: Matrix support
NiCd: Nickel-Cadmium rechargeable battery
NiMH: Nickel-metal-hydrite rechargeable battery
Prnt: Printer
RTC: Real-time clock
Sdev: Standard deviation (1-variable statistics)
Solv: Equation solver
Subr: Subroutine call capability
Symb: Symbolic computing
Tape: Magnetic tape storage
Trig: Trigonometric functions
Units: Unit conversions
VAC: Volts AC
VDC: Volts DC
Years of production: 2000  Display type: Graphical display  
New price:   Display color: Blue  
    Display technology: Liquid crystal display 
Size: 7"×3½"×1" Display size: 131×64 pixels
Weight: 12 oz    
    Entry method: Formula entry 
Batteries: 3×"AAA" alkaline Advanced functions: Trig Exp Hyp Lreg Grph Solv Intg Cmem Snd Mtrx 
External power:   Memory functions:  
I/O: Serial port, IR port     
    Programming model: HP Aplets 
Precision: 12 digits Program functions: Jump Cond Subr Lbl Ind  
Memories: 256(0) kilobytes Program display: Text display  
Program memory: 256 kilobytes Program editing: HP Aplets  
Chipset: Saturn   Forensic result:  

hp39g.jpg (32324 bytes)Here's another calculator with Aplets. I wasn't exactly enthusiastic about this concept when I first saw it with the HP-38G, and I am still not enthusiastic today. But if it helps Hewlett Packard reestablish its market leader position (and produce some decent engineering calculators afterwards), I am all for it!

I guess that calculators like the HP-39G and its all too many counterparts from Casio, Sharp, and Texas Instruments all prove an interesting point: easy to use is not the same as easy to learn. Many people complain that RPN (not to mention RPL) are fiendishly difficult to learn; in fact, I've heard numerous stories of HP calculators not being stolen because they're RPN and no-one knows what to do them.

Formula entry calculators represent the other end of the spectrum. They're easy to learn alright; in this respect, they could only be improved, I guess, if they came with an optical wand with which to scan in equations from paper. As for ease of use, however, well, why don't you judge it for yourself? The following two keystroke sequences accomplish the same thing: taking the square root of the most recently displayed number (i.e., the result of a previous calculation):

HP-39G
Shift
 √
Shift
Ans
=
HP-48G
 √

If this is what they call an improvement, no wonder engineers are less than enthusiastic, and are willing to pay a king's ransom for a decade old, battered HP-41CX or HP-42S!

Functional integration in the HP-39G is as good as it is in the HP-38G; for instance, support for complex numbers is complete, or nearly so. One exception is the built-in generalized factorial function, which works only for real arguments.

As is the case with the HP-38G, the programming model of the HP-39G is somewhat inflexible. A "program" is something that can only be invoked from the command line (or from within another program) via the RUN instruction. Sounds good, except that it makes it impossible to create programs that can be incorporated into user-defined expressions. It is, however, possible to accomplish this using function expressions in the Function Aplet. So here is an example, yet another variant of my Gamma function example, one that works for complex arguments as well, so as to supplement the built-in generalized factorial. (Actually, this expression computes the logarithm of the Gamma function, thereby also extending the function's range.)

F1(X)=IFTE(RE(X)<5,F1(X+2)-LN(X*(X+1)),X*LN(X)-X+LN(2*π/X)/2+
      ((((1/99/X²-1/140)/X²+1/105)/X²-1/30)/X²+1)/X/12)