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?

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?