HP Articles Forum
[Return to the Index ]
[ Previous | Next ]
Impressions on the HP-49G
Posted by Ernie Malaga on 2 Mar 2001, 9:12 a.m.
IMPRESSIONS ON THE HP-49G
by Ernie A. Malaga
The HP-49G is an incredible machine. One has only to compare it to the HP-65 to realize how much Hewlett-Packard’s programmable calculators have advanced in a quarter of a century. Still, the newer machine is in some respects _inferior_ to, say, an HP-41CX. Rather than simply join those who sing the praises of the 49G, I’d like to play the role of Scrooge and grumble and humbug and rant about what I don’t like.
For me, the sheer complexity of the 49G is quite intimidating. Gone are the days in which you could feel comfortable about the calculator, knowing that it held no further surprises -- that you knew it. With 688 different commands (in the base 49G, with no plug-ins), _and no help text anywhere_, it becomes a daunting task to figure things out.
More isn’t always merrier.
Take this as an example. I wanted to know how many commands were available. I knew that the command was CAT, but I did not expect to find it in an unshifted key. So, after losing a minute looking for it in blue and then in red, I gave up and decided to type the command name.
Simple enough: press ALPHA twice, type CAT, and press ENTER. Right? Wrong. That simply puts ‘CAT’ in Level 1 of the stack. Ah... perhaps I need to press EVAL. Nope, wrong again. Luckily, at this point I spotted the CAT key.
My frustration grew nonetheless. In the past, when something like that happened with older HP calculators, I turned to the manuals. You could rely on them to have the information you needed. If memory serves, the HP-67 had a rather thick manual chock full of examples and printed in full color.
Heck, even my lowly 32S’s manual is better than the _thing_ I got with the 49G. For the so-called HP-49G User’s Guide isn’t such. It’s ludicrously brief, describing only a rather small fraction of the features of the machine, with hardly any examples at all.
In my opinion, HP has done a disservice by not providing better printed manuals. Even the HP-49G Advanced User’s Guide isn’t any good at all. A long time ago I heard the bromide, “Manuals are written with the assumption that you already know the subject matter.” I laughed back then, but now it doesn’t seem so funny.
Take programming as an example. The 49G is advertised as being programmable in RPL or in BASIC. The User’s Guide doesn’t even mention BASIC -- in fact, there’s nothing about it in the index, or in the skimpy chapter about programming.
But this chapter contains the sentence, “See the Advanced User’s Guide for information on creating and using programs in RPN mode.” Like a fool, I downloaded the Advanced manual from the Web, only to find absolutely _nothing_ about how to write programs -- period. Not in RPN, not in BASIC -- _zilch_.
I never found any documentation about the BASIC programming language available on the 49G, and precious little about RPN either.
It’s no news that the keyboard is plain awful. The keys are extremely hard to press, making the operation a very slow process indeed. Moreover, the complexity of the machine (see above) means a cluttered keyboard, in which it’s hard to find what you’re looking for.
Things aren’t always grouped by similarity. For example, although the bottom row contains the constants infinity and pi, the constant “i” is on the second row, almost at the other end of the keyboard.
I am aware that a machine with such a rich command set must leave many things out of the keyboard, and I’ll applaud HP’s willingness to provide menus and choose boxes. But some things need improvement -- badly. For instance, why aren’t the trigonometric functions anywhere in the MTH menu? Yes, they have keys of their own, but they ought to be in the MTH menu as well for consistency’s sake. The lack of consistency is one of the things that makes the 49G so hard to understand and use.
Still looking for the trig functions, I selected option 5 (“Real...”) from the MTH menu, which brought me to the REAL menu. This delightful little menu, with 19 options, not only doesn’t contain the trig functions, but what functions it contains are in no apparent order. Would it have been too much to ask, to put them in _alphabetical_ sequence?
The problem of the 49G’s complexity is exacerbated by an apparent lack of a naming convention for commands. For instance, CON and CONST both have something to do with constants. I think CON creates a matrix of constants, while CONST displays a constant -- or is it the other way around? I executed the latter with an empty stack just to see if I could figure things out, but the error message I got (“Too few arguments”) didn’t make me any wiser.
HP should take a good look at IBM’s AS/400 for a lesson in how to name commands _sensibly_. On the AS/400, command names always consist of two parts: a verb and its object. Both parts use a standardized set of 1-, 2-, or 3-letter abbreviations; once you learn CRT (“create”), DLT (“delete”), PGM (“program”) and LIB (“library”), you already know 4 commands: CRTPGM (“create program”), CRTLIB (“create library”), DLTPGM (“delete program”) and DLTLIB (“delete library”). Those 4 are actual AS/400 commands.
What’s important is the clarity of such commands; their names clearly suggest their function. It is of no importance that some are as long as 10 characters.
There are programs and programs. Some you write for use only once and then throw away. Others you save for future use. Most 49G programs seem to be of the first variety, since maintaining them is such a difficult proposition -- particularly if written in RPN mode.
I know that I’m talking about a religious issue here; after all, how are we going to put distance between us and the rest of the world, except by insisting on RPN? But I sincerely believe that HP has gone too far with RPN ever since the HP-28C came out.
Take conditional tests as an example. “If a=0 and (b=1 or c=2)” becomes the following sequence:
IF a 0 == b 1 == c 2 == OR AND THEN ...
Excuse me, but there’s absolutely nothing intuitive about this. You may learn to write a program like that, and (stranger things have happened) you may even learn to _read_ the program, but it’s always at an effort. The net result is that, by insisting on using RPN everywhere, HP has made every program a throw-away program. It’s easier (in most cases) to erase the program and start anew, than to try to figure out how to fix a program, once written.
Writing the program in BASIC might have solved things, but... see my entry above about the manuals.
The problem is compounded when you write a complicated logical expression as part of a loop construct such as WHILE. One way to remove the apparent complexity is to indent the program, but all indentation is gone forever as soon as you press ENTER. I know because I tried that.
Take a quick quiz, if you need proof. Look at a program you yourself wrote a year ago, and see if you understand it right away. Chances are you won’t.
RPN is a wonderful logic system, but its usefulness is pretty much restricted to manual operations. Once you begin writing programs (which means whole expressions, either mathematical or logical), you’re better off writing them in a more expressive logic system. The right tool for the job at hand! Writing programs in RPN makes as much sense as changing a flat tire with a screwdriver.
Of All Calculators...
I’ve had quite a few HP calculators (and several TI ones too), so I consider myself competent when comparing those I know. I started my relationship with HP with an HP-25 in 1976, quickly upgrading to an HP-67, then to a 41C, 41CX, 28C, 48GX, and 49G. I’ve had a few others (sometimes concurrently) such as a 16C and a 32S. On the TI side, I’ve had a SR-51A and a TI-89, as well as a few odd ones of various brands, including Casio and Sharp. I’ve also used other calculators, such as HP-65, 45, 35, 80, 21, 29C, 41CV, 9830A, SR-50A, SR-52, and TI-59.
Of all those calculators, I like the HP-41 best.
I think the HP-41 had the right balance between complexity and usefulness. It wasn’t complex enough to make things difficult or intimidating, yet it was complex enough to be useful.
The stack had a fixed size, which means that you can be aware of its contents at all times; it’s easier to remember what’s in the stack when it has 4 registers than when it has 23. And you don’t need a large set of commands to control it either, so stack manipulations remain simple.
The keys had a superior feel, the keyboard was uncluttered, the command set was much smaller. I could write a program in my HP-41 in a fraction of the time it would take me on the 49G. The more I use the 49G, the more convinced I am that it takes a rocket scientist to figure it out.
I miss the HP-41 sorely. I wish I could turn the clock back. It’s a good thing I still own a 32S, or I would never get anything done.
Afterword: A while back I placed an ad in the Classifieds, asking to trade my 49G with a 41CX. Tom, thanks for trading with me.
[ Return to the Message Index ]
Go back to the main exhibit hall