Mach number - RPN vs. Algebraic Message #1 Posted by Valentin Albillo on 5 Oct 2003, 2:14 a.m.
r. d. bärtschiger posted:
"Whenever I buy another type of calculator I always use the following equation, from page 106 of the HP-67 Owner's Handbook, to test the useability of the new calculator. Using an HP calculator usually takes about 45 seconds to get the correct answer. Using an algebraic calculator usually takes much longer, twenty minutes or more, if it in fact can solve the problem at all."
With all due respect, and not to doubt your words but your quoted figure and comment "twenty minutes or more if it in fact can solve the problem at all" seems a bit misleading and a lot unfair. 20 *minutes* ? Are you serious ?
If you are, it seems to me to be a typical case of a "language" chauvinist, using ineptly a "language" he dislikes, then pointing out how bad and inefficient are the results he inefficiently produced. You'd have a similar case if someone profoundly disliking RPN were to solve this particular Mach number example using RPN: he would take ages to solve it, would do a lot of false restarts and unnecessary stack manipulations, then would complain how much RPN sucks. Simply preposterous.
"Even trying to enter this equation into an HP-48GX or 49G+ equation writer is a difficult task."
Maybe that's the case for those calculators, but this "difficult" evaluation is a piece of cake for my SHARP PC-1350. The formula is entered like this:
Sqrt(5*(((((1+.2*(350/661.5)^2)^3.5-1)*(1-6.875E-6*25500)^-5.2656)+1)^.286-1))
where Sqrt is the "square root" symbol (a single keystroke). I timed myself entering this equation, exactly as written, and it took me 60 seconds flat (not "20 minutes"), the displayed result being 0.835724535, correct to all digits shown. If it actually took you 20 minutes, this only shows just how inefficient you are entering and evaluating algebraic expressions, or else just how bad your algebraic calculators are.
"If you really want to see how much easier RPN is, try to calculate the answer to this problem using an algebraic calculator. [ ... ] I think you will agree the HP is easier."
No, I don't agree at all, by the simple reason that it isn't true, and your example is actually flawed. Why do I state this ? Let's see:
- Why it isn't any easier with "HP" (i.e.: classical RPN) ?: it isn't easier with classical HP RPN because, being limited to 4 stack levels, you CAN'T begin to evaluate the expression from the left, but as the actual RPN solution shows clearly, you MUST decide on a strategy for where to begin the evaluation, having to scan the expression to locate the innermost set of parentheses, then begin there, least you would need to store some intermediate result in a register. On the other hand, you CAN enter the expression in the PC-1350 exactly as written, from left to right, no strategy needed, no intermediate results stored.
Also, there's the fact that RPN isn't particularly "efficient" for this particular example. RPN takes 66 keystrokes to evaluate this, starting from the innermost depths, then going outwards. In the PC-1350, it takes 75 keystrokes to enter the expression, left to right, no reordering necessary, and the ending parentheses could be ommitted as well. I don't think the difference in keystrokes to be groundbreaking at all, and certainly does not compensate for having to decide on the order of evaluation beforehand. The mere fact that you need to give a "proper keystroke sequence" as part of the solution is a real telltale that RPN isn't at its best in this example. The PC-1350 "proper keystroke sequence" is "as written".
- Why your example is flawed ? Because it's hopelessly *aged*. This example was fine, very fine at the time it was published. I remember trying it with my newly acquired HP-67 more than 20 years ago, and being awed at the power of RPN, because this example was well-nigh intractable with the primitive algebraic calculators of the time.
But using it nowadays, as an example against *modern* algebraic calculators ? Come on !! You must be joking, or you have a serious case of wishful thinking ! Not only modern algebraic calculators, but vintage ones, as the Sharp PC-1350, can take examples like this and bigger for breakfast, without even blinking. You can key in the full expression left to right, as written, you can see it in full in the 4-line display, you can check it and recall it at will after evaluating it, to edit it and change some parameter to play what-if, you can do anything ! Try that with your classical RPN calculator. Will LASTx do you any good if the final result seems absurd ? Or will you have to reenter all of it, perhaps chosing some other order of evaluation ?
HP used this example, very complex at the time, because algebraic calculators back then had very little memory for their intermediate operands and operators and most couldn't compute this example from left to right, as written, while in RPN you easily could by applying some ingenuity to the order of evaluation, ingenuity that most HP users at the time had in spades. Also, algebraic calculators back them could not display the whole expression at once, but only the number last keyed in, or an intermediate result, not even the operands would appear in the display. There was also no way to recall the whole expression in case of error.
But what was ok and amazing then, and a very proper example and demonstration of RPN power, cannot be used right now, 2003, to demonstrate RPN "superiority" against "algebraic systems", because RPN hasn't changed an iota (RPL is *far* too different to be considered "RPN", more like FORTH) while algebraic systems have improved exponentially, and modern algebraic machines do not have the pathetic memory and display limitations that vintage models had.
That being so, your example is just too ridiculous an "exhibit" to rest your case, and can only succeed with the most fanatic, blinded RPN addicts. Any serious RPN or algebraic user will simply be ashamed of your pathetic argument.
The point is: don't get me wrong. I've been using RPN for the past 20 years, like it very much, and, honestly, there's very few people in this forum or out that can do any calculation or program more efficiently in RPN than I can, even if it isn't proper I would say so myself. But just the same, and for that same reason, I can't suffer seeing RPN being "defended" with such pathetic arguments and such flawed, obsolete, no-longer-valid examples, much less seeing a lot of people being mislead by them into a false feeling of superiority which isn't exactly justified by examples like yours.
Just you try to use this Mach number example to demonstrate the "superiority" of RPN in your HP to someone having a decent algebraic calculator (even if it is as old as the Sharp PC-1350) and you'll only succeed in making a fool of yourself, and proving the other person just how pathetic those "RPN nerds" are. It goes without saying that this is no good to the RPN cause, at all.
Long live RPN !
Best regards from V.
Edited: 5 Oct 2003, 2:39 a.m.
|