Programmable (II)

Victory of the geeks

We note one time when the computer-engineers won over the marketers.

Last week, delving into the area of programmable calculators (admittedly an arcane subject), we noted that the TI-92 and TI-83 (for example) maintain this hardly-used capability mostly because it’s cheap to insert.  A number of lines of software, a drop-down menu, and you’re done; memory space is cheap, and processing is flexible.  If you don’t use it, you don’t even know it’s there.

Not so for our third example, the older HP-25.  Not only did it need to have software and firmware features installed, but hardware: there are buttons on its face (valuable real estate) that are only used for programming, and a veritable physical switch to go from one mode to the other.  It cost a lot to have this capability, which we’ve noted was little-used.  Why was it installed?

First, a digression on computer details.  What your computer actually does is an extremely complicated manipulation of voltages representing 1s and 0s.  Machine-language instructions look like, say, 11001010, which when inserted into the proper terminals of a set of logic gates will add the contents of register 01010 to the quantity in the present working space, the accumulator.  Assembly language translates this number to something more human-readable, like, “add 01010.”  Assembly language instructions are limited and atomic: store a number at a particular address, retrieve it, add, subtract; if the accumulator is zero, skip the next line in the program; go to line number 10.  The next level up is a compiled language, where you can say something like x = (y+z)/2.  The compiler breaks this down into assembly instructions: put the number at y into the accumulator; retrieve the number at z; add; retrieve 2; divide; put the number into the x address.  Parentheses or something like a for-next loop marks a compiled language.

The TI-92 and -84 have for-next loops.  The HP-25 does not.  In fact, as we noted, the way one uses the HP-25 even when not programming is very much like assembly language: moving numbers around and doing operations on those at particular locations.  A program is entered as a string of key-strokes, thus looks a lot like assembly language; indeed, it’s stored as a string of numbers, like machine code.  Now, these are not actually assembly language and machine code.  There’s a key-stroke for “sine,” which is definitely not a single assembly language instruction.  But the thought-process needed for construction of a program for the HP-25 is the same as that needed for an assembly-language program.  Compiled-language techniques often don’t apply.

Our question remains, and even more urgently: why do this in a calculator?  Assembly-language programmers are even fewer (make up less of a market) than the compiled-language sort.  Well, consider the time when the HP-25 came out.  It’s fair to say that anyone who might program one of these had access to a computer with a compiled language on it (probably FORTRAN).  But it was a mainframe, with shared resources, and after writing a program one would submit it to be run, and get the output maybe the next day.  It took a long time to debug an algorithm.  So the ability to test a bit of code on one’s own could be very attractive, even if the process was limited.

So we think it went something like this: the computer-engineers at Hewlett-Packard, with assembly language in their very bones, convinced the marketers that a great opportunity was at hand.  Thousands of programmers would leap at the chance to use the amazing capabilities of this hand-held computer.  And not only did they prevail, but they got to write the instruction manual (which we think breathes the enthusiasm of a computer geek, rather than the tedium of a technical writer); and a book of already-written programs, which is bigger than the manual.

Well, progress moved on quickly, and in a few years personal computers put compiled languages (and a great deal more) on everyone’s desk.  But we know of one astronomer who built a mathematical model of a star on an HP-25.  And the geeks won over the marketers at least once.

Share Button