HP Forums
The programmable calculator the HP-30b should have been - Printable Version

+- HP Forums (https://www.hpmuseum.org/forum)
+-- Forum: HP Calculators (and very old HP Computers) (/forum-3.html)
+--- Forum: General Forum (/forum-4.html)
+--- Thread: The programmable calculator the HP-30b should have been (/thread-2050.html)



The programmable calculator the HP-30b should have been - Joseph_21sv - 08-31-2014 06:39 PM

First of all, for those of you who do not own the HP 12c Platinum, the HP 17bII+ and the HP-30b side by side and those who do, but do not have my gripe about the way HP made the 30b, here is the data arranged in descending order of relevance—not that much of it is particularly relevant to my gripe—so that you may understand as readily as possible what exactly my particular gripe about the calculator’s design is:
Programming features:
Storage: 12c Platinum: 399 steps; 30b: 290 bytes (>=1 byte/step); 17bII+: 30K
Model: 12c Platinum, 30b: “Fully” merged keystroke; 17bII+: Formula
Display: 12c Platinum: Keycode; 30b: Mnemonic; 17bII+: Formula display
Editing: 12c Platinum: Overwrite capability; 30b: Auto-insert entry; 17bII+: Formula display
Flow control:
Branch target: 12c Platinum: addressed by step number; 30b: addressed by label; 17bII+: contextual
Unconditional branching: 12c Platinum, 30b: yes; 17bII+: no
Conditional branching (literal): 12c Platinum: x=0/<=y; 30b, 17bII+: any
Subroutines (literal): 12c Platinum: no; 30b: CALL (label) nn; 17bII+: local formulae
Loops (literal): 12c Platinum: no; 30b: ISG/DSE (0<start<9999, 0<end<999, 1<step<99); 17bII+: any
Pause instruction: 12c Platinum, 30b: yes; 17bII+: no
Addressing: all: direct only (indirect addressing essentially rendered impossible by contextual branch targeting); 30b: indirect addressing only for registers
Non-programming features:
Non-financial functions:
Display size: 12c Platinum: 10 digits; 30b: 8 characters+12+3 digits; 17bII+: 2x22 characters
Display type: 12c Platinum: 7-segment; 30b: Hybrid dot-matrix/7-segment; 17bII+: Dot matrix
Redefinable keyboard: 12c Platinum: no; 17bII+: only softkeys; 30b: yes
Binary operator logic: 12c Platinum, 17bII+: PEMDAS, RPN; 30b: Chain, PEMDAS, RPN
PWR, MUL, DIV, ADD, SUB: 12c Platinum, 30b: yes, with shortcuts for x^2, sqrt(x), x!, e^x, 1/x, %, %change, %total; 17bII+: yes, with shortcuts for x^2, sqrt(x), n!, e^x, 10^x, 1/x, %, %change, %total
Logarithm bases (literal): 12c Platinum: e; 30b, 17bII+: e, 10
Trigonometric functions (literal): 12c Platinum: no; 17bII+: no, but shortcut for pi; 30b: plain, INV, HYP, pi, DEG/RAD angle modes
Statistics: all: 1 variable weighted/unweighted, 2 variable
Statistical storage: 12c Platinum: 80 data points; 30b: 50 data points; 17bII+: 30K
Statistical summation (literal): all: x, y, x^2, y^2, xy
Measures of central tendency (literal): 12c Platinum: Mean x, x weighted, y; standard deviation x, y; 17bII+: Mean x, x weighted, y; standard deviation x, x grouped, y, Median; 30b: Mean x, x weighted, y; population/sample standard deviation x, x grouped, y; sample standard error x, x grouped, y; covariance; Minimum, Q1, Median, Q3, Maximum x, y
Regression models (literal): 12c Platinum: linear; 17bII+: linear, logarithmic, exponential, power; 30b: linear, quadratic, inverse, logarithmic, exponential, power
Probability distributions (literal): unique to 30b (Normal, t, F, chi-squared, binomial)
RNGs (literal): unique to 30b (presumably only pseudorandom)
Date entry: all: month/day/year, day/month/year
Date calculations (literal): all: 30/360, actual/actual
Clock, appointments: 12c Platinum, 30b: no; 17bII+: yes
Menus/Prompts: 12c Platinum: no; 30b, 17bII+: yes—scrolling menus on 30b, soft keys on 17bII+
RPN stack roll: 12c Platinum: only down; 30b, 17bII+: bidirectional
Radix mark: 12c Platinum: always .; 30b, 17bII+: selectable ./,
Thousands separator: 12c Platinum, 17bII+: always on; 30b: toggleable
Number formats: 12c Platinum: FIX/SCI; 30b, 17bII+: FIX/FLOAT
Numerical precision: 12c Platinum: 10 digits; 30b: 15 digits; 17bII+: 12 digits
Equation Solver: 12c Platinum: no; 17bII+: programming model; 30b: yes
Communications: 12c Platinum: no; 17bII+: IR for printing, outbound only; 30b: USB/serial cable for re-flashing, apparently inbound only
Memory for variables: 12c Platinum: 20 registers; 17bII+: 30K+10 registers; 30b: 10 registers (directly addressed)+100 registers (addressed by register 0)
Absolute value, integer truncation (literal): 12c Platinum, 17bII+: only integer truncation; 30b: both
Storage operations (literal): 12c Platinum, 30b: MUL, DIV, ADD, SUB; 17bII+: PWR, MUL, DIV, ADD, SUB
Mode settings: 12c Platinum, 17bII+: continuous; 30b: semi-continuous
Business/Financial functions:
TVM solvers (literal): 12c Platinum: standard, odd-period; 17bII+: standard; 30b: standard, Canadian
TVM shortcuts (literal): 12c Platinum: n=x*12, i=x/12; 30b: only n=x*P/YR, 17bII+: none
Cash flow analysis (literal): 12c Platinum: NPV, IRR; 17bII+: NPV, NFV, NUS, IRR; 30b: NPV, NFV, NUS, IRR, MIRR, FMRR, normal/discounted PBP
Cash flow capacity: 12c Platinum: 80 groups, frequency<=99; 17bII+: 30K; 30b: 50 groups, unlimited frequency
Bond calculations (literal): 12c Platinum: actual/actual semiannual only, price and yield; 17bII+: all types, price, yield, coupon rate, accrued interest; 30b: all types, price, yield, coupon rate, accrued interest, normal/modified Macaulay duration
Amortization: all: accumulated interest, balance
Depreciation calculations (literal): 12c Platinum: Straight line, Declining balance, Sum of Years’ digits; 17bII+: Straight line, Declining balance, Sum of Years’ digits, US Accelerated Cost Recovery System; 30b: Standard/French Straight line, Declining balance with or without crossover, Sum of Years’ digits, French Amortization
Markup calculations (literal): 12c Platinum: no; 30b, 17bII+: percent of cost and price
Break-even analysis (literal): 12c Platinum: no; 30b, 17bII+: yes
Black-Scholes equation (literal): unique to 30b
Technically, only the very first item is particularly relevant to my gripe about about the calculator’s design. However, it would be nice for a programmable business calculator to have a merged keystroke programming model à la HP 32/41 series, but without the silly limitation on what loops can be constructed literally which is imposed by the firmware of those calculators; alphanumeric display capabilities—whether via segmented display à la TI-62/66 and HP-41 or dot matrix à la essentially every contemporary programmable calculator (just not an HP-20b/30b-style hybrid display—whoever thought of that must have been consuming too much absurdist art) and bidirectional communications à la essentially every contemporary graphing calculator.
Don’t get me wrong, I like that the HP 30b has so many preprogrammed functions—business and otherwise—which are unprecedented among business calculators in general. But do any of you agree that it could have used more program space and a more “normal-looking” display?
Sidebar: Not that it is particularly relevant to my gripe about the calculator’s design, and thence to this discussion, but no programmable business calculator exists which is pre-programmed for TVM calculations with advance or gradient payments or variable interest rates, real estate calculations beyond basic amortization or cost/sell/margin calculations or any such one which does is extremely obscure even though HP and Casio have made ones with multi-kilobyte program storage and programming models which are very close to Turing-complete or a graphical display. Is it at all strange that I find this simultaneously annoying and hilarious?