コンテンツにスキップ

このWebサイトは、管理人が個人的に書き留めている備忘録です。それ以上でもそれ以下でもありません。
誤記・誤解・誤謬を含め、記述内容の確度を一切保証しません。責任を負いません。問い合わせ等を受け付けません。
This Mediawiki is a personal memorandum written by Administrator, nothing more, nothing less.
Administrator do NOT guarantee accuracy of content, including any errors, misunderstandings, fallacies, take NO responsibility, do NOT accept inquiries anything of the sort.

HP-28S

提供: Memorandum
2024年12月26日 (木) 12:35時点におけるWebmaster (トーク | 投稿記録)による版
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)

1988年1月4日〜1992年4月1日に販売された科学・数学向けRPL上級グラフィックプログラム関数電卓で、HP-28CのRAMを2kBから32kBへ拡大した改良版である。コードネームはOrlando (イングランドの劇作家William Shakespeare作の喜劇「お気に召すまま」の主人公の名)。これまでの機種では演算アルゴリズムと演算ロジックを機械語で記述・制御していたが、それを下記で詳述するRPLに置き換えたことが最大の特長(であり欠点)である。プログラミングする際にアルファベットを入力し易くするためにアルファベットキーを独立させるべく、関数電卓では珍しい左右開き型で折り畳み式のクラムシェル筐体が採用された。開いて左側にはアルファベットと各種関数メニューを入力するキーが35個、右側にはRPN関数電卓としてのキーが37個並ぶ。このように物理キーが非常に多いため、シフトキーは  1段のみである。

本来の意味の関数電卓に加え、複素数/ベクトル/行列/統計も演算でき、ルートソルバや数値積分、HEX16進/DEC10進/OCT8進/BIN2進の数値で基数変換/整数演算/ビット演算[1]、120の単位間で度量衡相互換算、HP-41シリーズではアプリケーションパックを装着しないと演算できない関数を含む298関数を最初から内蔵、23桁4行の英数字とグラフが描画できる137×32画素のドットマトリクス液晶ディスプレイと、赤外線プリンタと接続するための赤外線インタフェースを備え、1986年6月1日発売のHP-18Cから市場に投入した新開発のマイクロプロセッサであるSaturnに置き換えたことで演算範囲が1×10499から9.999999999×10499まで拡大される等、これまでのHP製関数電卓を一新すべく開発された機種ではあるが、現代から俯瞰すると「時代の流れから、一新せざるを得なかった」と言うべきだろう。その理由は下記で詳述する。

なお、これを期にHPは型名の命名規則として、末尾に用途も加えることとした。当初はScientific(科学・数学向け)を示すSBusiness(商取引・経済向け)を示すB、eXpandable(拡張可)を示すXの3つだったが、HP-48GX/HP-48G発売時にGraphic/General(グラフ描画/汎用)を示すGが追加された。よって、本機は科学・数学向けとなる。

「半導体の技術進歩と低廉化」が全てを変えた

1979年7月1日から8年6ヶ月続いた、RPN関数電卓のラインナップや価格政策、型名の命名規則、製造方法やユーザサポート体制などが、1988年1月1日に一新された。その理由は「半導体の技術進歩と低廉化」である。

日本製の半導体が世界を席巻していた1980〜1990年代、製造技術はもちろん、焼き付けられる回路の中身は長足の進歩を遂げたが、それと反比例する形で、販売価格は猛烈な勢いで下落した。そもそも日本製の半導体がここまで急速に技術力と価格競争力を付けることができたのは、最初は国内で、やがては海外をも巻き込んだ電卓戦争が原因である。

1970年代に日本国内の電卓メーカ間で勃発したこの戦争は、1980年代には電卓が主力の輸出製品として一翼を担うまで戦線が拡大。最盛期は50社を越えたといわれるほど乱立した電卓メーカは、資本力と技術力の双方を持っていない順に淘汰され、その敗者には億単位の負債だけが残されるという凄惨さであった。こうしてできた多数の屍が転がる焦土の陣取り合戦に一応の均衡が見出せたのは1980年代後半、カシオ計算機・シャープ・キヤノンの3社が勝者として生き残ることを許される形で戦争は終結した[2]

この戦争に否が応でも巻き込まれる形となった国内の半導体ベンダは、電卓メーカから上がってくる様々な要求に応えていくことで技術力と価格競争力を身に付けていった。当時の半導体ベンダにとって、電卓メーカの発注量は非常に多く、また要求する回路の中身も日を追うごとに高度化しており、これで鍛えられた恰好だ。

ご多分に漏れず、HPもRPN関数電卓向けマイクロプロセッサチップの製造をNECに委託していた。言い換えると当時は、日本−アメリカ他の外国間との輸送費や関税を含めても日本の半導体ベンダに製造させたほうが低コストだったのだから驚異的という他ない。

そして、この時期の半導体価格の低廉化が、HPの電卓事業に与えた影響はあまりに大きかった。半導体価格の下落が、他社との競争からも製品の市場価格を押し下げる圧力になり利益を圧迫、「修理エンジニアの人件費と半導体を含む修理用部品の合計コスト」が「完成品を量産・販売して得られる総プロフィット」を上回ったのだ。

これは、専任の修理エンジニアがケースを開腹して故障箇所を特定し、故障した部品を交換して復旧させる修理サービスを提供するより、ケースを開腹せず外部から故障か否かを確実に判定できる手段[3]を用意し、それで故障と判定できたら、故障品はそのまま引き取って丸ごと廃棄し、代わりに新品を提供するほうが安上りになったことを意味する。また、故障を判定するマニュアルさえ整備すれば、この作業は学生や主婦のアルバイトで賄えるため、故障箇所の特定や基板から故障部品を剥がして交換するといった修理技術は不要となり、それまで社員として抱えていた修理エンジニアを別職種へ転換もしくは解雇することで、電卓事業の人件費を大幅に減らすことも目算に入れた。

HPの関数電卓は、その高価格帯もあって、修理サービスを提供することがポリシであり特長のひとつであった。修理エンジニアの稼働率が一定以上あり顧客満足度の維持・向上に貢献していたなら、このようなことは考えなかっただろう。しかし、製品の肝である半導体で高品質化・低価格化が同時に深化すれば、MTTFが伸びて故障が減るのと同時に製品の市場価格が下がるため、故障した際は「修理に出す」より「新型機種に買い替える」ことを選択するユーザが増え、修理サービスは利用されなくなる。こうなると、修理サービスを維持すること自体が重荷になる。純然たる民間企業のHPは利益を追求せねば己が倒れる。修理サービスを慈善事業として未来永劫運営する訳にはいかない。更に、HPのRPN関数電卓特有の事情として「マニアが蒐集のために購入する」需要が馬鹿にならないほど大きかったことも付言せねばなるまい。当然これらは購入されるものの使用されないため故障のしようが無く、修理エンジニアの稼働率を更に押し下げた。製品に同封するアンケートハガキで、購入目的の選択肢に「コレクション」を設けた電卓メーカを、管理人はHP以外に知らない。

つまり、四則演算のみの電卓では本機発売の15年前にカシオミニが起こしたコモディティ化の波が、半導体価格の低廉化で関数電卓にも到達したことで、然しものHPも、今までの高価高級路線を進んでいては電卓事業を維持できないと判断したのだ。

この事態を受け、HPは電卓事業で2つの方針転換を実施した。ケースの熱溶着化修理サービスの提供終了だ。それまでの機種はキーボードと本体のプラスティックケースが分かれていて、更にケースは上下に分かれており、基板等のアセンブリとキーボードセットを挟み込んだ後にそれらをネジ留めして封止するため物理的に厚みがあったが、キーボードと本体プラスティックケースを一体化、上下に分かれているプラスティックケースの上側にキーボードも一体成形し、液晶ディスプレイを圧着した基板を下側ケースと挟んでから、上下のプラスティックケースの要所要所を熱で溶かして接着するよう変更したため薄くなった。例えばHP-41CXを含むHP-41シリーズの厚さは33mmあるが、本機は開いた状態で電池ボックスを除く片側の厚さは8mmしかない。しかし、ネジ留めケースはネジさえ緩めれば開腹できるため修理が可能なものの、熱溶着したケースは二度と開腹できず修理が不可能なので、本機以降で熱溶着したケースを採用した電卓には修理サービスを提供せず、保証書では従来通り「修理」と謳いつつも、実態は「購入後1年未満で故障した製品には同等以上機種の新品と交換、購入後1年経過後は修理サービス提供なし」という製品保証内容へ変更[4]した。

この方針転換により、部品の総数が減り、人手を介さず自動化できる製造工程が増え、修理用の部品と専任の修理エンジニアを抱える必要が無くなったため、製品の売価が劇的に下がった。他社との比較でも、実装された関数や演算性能では圧倒的に優位なまま価格差だけが大幅に縮まったことで価格対性能比が上がり、購入者の視点からも高価高級路線から降りたように見えた。特に日本では、この時期に同時並行で日米貿易摩擦として国際政治問題になるほど日本円がアメリカドルに対し円高ドル安に振れ始めたことで、日本国民からすれば従来より格段に入手し易い状況となった。

また、部品を調達する視点で半導体価格の低廉化を眺めると、今までと同じ予算で、より高性能かつ大容量なマイクロプロセッサ/ROM/RAMが採用できることになる。数字で示すと、1983年10月1日発売のHP-41CXでは、222関数を含むソフトウェアを格納しているROMは20kB、ユーザが使用できるRAMは2,233バイト(1レジスタが7バイトで319レジスタ)=2kBちょっとである。翻って、3年2ヶ月後に発売された本機では、298関数を含むソフトウェアを128kBのROMに格納し、RAMは先述の通り32kBである。ROMは6倍以上、RAMは16倍以上も容量を増やせたが、定価は90ドルも下落した。この事実により、電卓メーカ各社の製品開発方針が大きく変容する。

それまでは、関数電卓で実際に演算を担うマイクロプロセッサ、演算アルゴリズムとロジックをソフトウェアとして格納するROM、ユーザのソースコード等を格納するRAMの3つは、最終的な製品の売価を上下させる高価で重要な部品であるため、「如何にして低容量のROMに高機能のソフトウェアを詰め込み、低価格(=低性能)なマイクロプロセッサとRAMを使い切るか」が電卓メーカの技術力と競争力を測る重要な要素であった。言い換えれば、フットプリントを極小化できるソフトウェア言語は機械語なので、「如何にして機械語による適切な命令を作成し、それらを組み合わせることで、ROMに焼き付けるソフトウェアを極小化かつ多機能化できるか」が電卓メーカの重要なノウハウであり製品の魅力の源であった。

しかし、電卓に採用できる安価なマイクロプロセッサ/ROM/RAMでも高性能化・大容量化が可能となると、マイクロプロセッサの低性能っぷりに頭を悩ませたり、ソフトウェアの極小化に汗をかいたりする必要が無くなるどころか、競合他社との差別化のため、ユーザが欲すると思う機能を矢継ぎ早に追加することへ躍起となる。この変化は、関数電卓の売価低下とユーザの可処分所得上昇が交差した時点以降では、競争する方向が「極小化」から「肥大化・高機能化」へ反転し、電卓市場で生き残るための鍵が「演算性能はそのままに、如何にしてユーザが求める高機能なソフトウェアを開発できるか」に移ったことを示している。

取りも直さず、この一連の流れは、現代の家電やコンピュータ、インターネット界隈の技術分野とまったく同じ構図である⸺「コモディティ化した製品やサービスが行き着く先では、消費者へ提供する価格が暴落する。販売する側は価格の暴落を阻止すべく、競合他社と差別化するための付加価値で競争し始める」。約30〜40年前の電卓市場は、現代のマーケティングの教科書に見本として載ってもおかしくない、典型的な動線をなぞり始めたのだ。

「RPL」という希望

この時代の流れを沈着冷静に分析したHPは、自社の関数電卓の特長であり強みのひとつであるプログラム機能をある統一した指向(思考)に基くプログラミング言語に置き換え、ユーザがより一層能率良く高精度な数値解析プログラミングができる環境を提供することが電卓市場で生き残る希望だと考えるに至り、その旨を開発陣に指示した。尤も、開発陣は、関数電卓で採用できるマイクロプロセッサの演算性能やROMとRAMの容量から、FORTRANBASICといったコンピュータ向け高級言語をそっくりそのまま移植することができないことを当初から解っており、上層部から下りてきたこの指示を「関数電卓のハードウェアに見当ったフットプリントに収まり、かつ、HP製RPN関数電卓ユーザが求める機能を備えたプログラミング言語基盤を新規に開発する」のと同義と捉えた。1984年、これまでのRPNにLISPForthの機能を取り込んだRPL (Reverse Polish Lisp:逆ポーランド式Lisp)を完成させる。前置記法であるLISPを後置記法=RPNにしたため、このように命名したのだが、実際には中置記法も使用する。

RPLのアーキテクチャはSystem RPLとUser RPLに分かれる。それまで機械語で実装していた演算アルゴリズムと演算ロジックをOperating System (OS)と定義してSystem RPLに、その上でユーザがソースコードを書いて実行するプログラミング環境をUser spaceと定義してUser RPLに、それぞれ分離しているが、User RPLはSystem RPLに実装したすべてのコマンドのうち安全なものだけ切り出してユーザに開放したサブセットである。よって、ユーザはSystem RPLのうちUser RPLとして開放されたコマンドをソースコードで指定してプログラムを組むことになるため、ユーザが書いたソースコードを含むすべてのRPLプログラムは、OSであるSystem RPLに実装された命令を直接実行するのと同じ[5]となる。このような建て付けのため、RPLで実装された関数電卓はすべての演算と制御をRPLだけで動作・実行でき、ユーザが書いたRPLプログラムを走らせてもオーバーヘッドは発生せず、貧弱で限定されたハードウェア資源を無駄なく効率的に使い切れると同時に、ユーザには多彩なソフトウェア(プログラミング)環境を提供することに成功した。なお、RPLはLISPの実行環境同様インタプリタ形式でプログラムを実行するため、ユーザが書いたソースコードを1行目から逐次直接解釈する形態となり、機械語だけで動作する関数電卓と比較すると演算速度は遅くなる[6]ものの、それまでのHP製RPN関数電卓とは異なりスタック段数に制限が無く、RAMが余っているだけ無制限にスタックを積めることは大きな差異であり特長である。この言語仕様は、プログラム実行形式がインタプリタかどうかはさて置き[7]、コンピュータ用プログラミング言語と同じである。

ただ、このRPLの挙動は「数値解析プログラミングを前提としたコンピュータ」と同じなので、従来のPRN関数電卓や他社の(中置記法の)関数電卓からRPLで実装された関数電卓に乗り換えて「関数電卓として」常用しようとするユーザは、相当な面倒臭さを引き受ける覚悟が必要となる。例えば、弧度法で三角関数を演算すべく従来のRPN関数電卓と同様にキーインしても、演算結果である数値(真値もしくは近似値)を出力せず、キーインした数式を表示して動作は終了する。なぜなら、RPLで実装された関数電卓でのこの操作は「弧度法で三角関数を演算するRPLのソースコードを書いた」ことになり「弧度法で三角関数を演算するコマンドを入力した」ことにはならないからだ。よって、数値(真値もしくは近似値)を得るには「書かれたRPLのソースコードをRPLインタプリタに通して演算を実行させる」必要がある。この手間をHPはEvaluate(評価する)と命名した。RPLの元となったLISPがソースコードに書かれたS式を連綿とeval(評価)して処理を進めることに倣ったと思われる。

つまり、本機に限らずRPLで実装された関数電卓では、常に、演算する数式を「RPLのソースコード」として入力し、それをRPLインタプリタで「評価」する操作が必須となる。

尤も、RPLのこの挙動は、数値解析プログラミングを考えると正しい。特長にも記したように、コンピュータが二進数で端数を演算すると丸めによる誤差が必ず発生するため、演算過程で都度数値化し、その値を次の演算で数式に代入し…と繰り返すと、丸めによる誤差が更なる誤差を産み、最終的な演算結果として得られた近似値が数学的な真値と著しく乖離するため信用できない事態となる。これを防ぐには、数値化する回数を極力減らす、即ち、プログラミングによる数式処理をすべて終えた最後に1回で数値化することで丸めの発生を極小化する技法が必須となる。この技法は大学生や高専生が数値解析のプログラミング実習の場で最初に叩き込まれる基礎の基礎だが、言い換えれば、これはコンピュータプログラミングによる数値解析の定石で、RPLのこの挙動は明らかに数値解析プログラミングを前提としたコンピュータのものである。つまり、RPLで実装された関数電卓は数値解析プログラミングに最適化されていることになる。実際、RPLで実装された関数電卓で数式を続けて入力しても、それを数式として反映するだけで、それを演算し数値化する=評価する時機はユーザ次第となり、丸めの発生は極小化される。

が、これまでのHP製RPN関数電卓がそうであったように、関数電卓の挙動は「即演算・即出力」なので、ここまで述べたRPLの動作思想を把握せずに本機を使用すると、激しく戸惑うことになる。はっきり言えば、RPLで実装された関数電卓は「ユーザが書いた数値解析プログラムで高精度な演算を実行する」ための機種であって、「ユーザの手許に転がっている直近の諸問題について、真値や近似値をお手軽に求解する」ための機種ではない。本機附属マニュアルはこのようなRPLの動作思想を明記しないどころか意図的に隠した書き方[8]をしているものの、購入者がユーザとなり幾度か使用すれば、これを嫌でも思い知らされ、そして愕然とする。「これを『関数電卓として』常用するには、あまりに面倒だ」と。

例えば sinπ3=32 の近似値を求めてみる。HP-41CXでは  π (HP-41CXでは 0 キー) 3 ÷ SIN とキーインするだけで0.866025404が得られる。HP-15Cでも同様に 𝐠 π (HP-15Cでは EEX キー) 3 ÷ SIN で0.866025404が得られる。これらがHP製RPN関数電卓で標準的なキーイン数と動作だ。翻って、本機では  π (本機では右側にある  キー) ENTER 3 ÷ TRIG  SIN  とキーインするのだが、先述の通り、本機でのこの操作は「『RPLのソースコード』が入力された」ことになるので、整形されたソースコードである'SIN(π/3)'を表示して止まったままだ。近似値を得るには、これをRPLインタプリタで評価しなければならない。そのため  NUM (本機では EVAL キー)と追加でキーインすることで、ようやく近似値の0.86602540379が得られる。

マイクロプロセッサをSaturnに置き換えたことで演算結果は更に高精度となったものの、これを得るまでのステップ数が「関数電卓として」はあまりに多過ぎる。RPLのソースコードをRPLインタプリタに評価させる手間が必須なので、RPNを採用したことで得られるはずの「キーインするステップ数が減らせる」という利点を潰すどころか、逆にキーイン数が増えている。これでは「関数電卓として」常用に堪えるとは言い難い。事実、英語版にしろ日本語版にしろ、本機附属マニュアルのページ配分は、RPNに基く連続した二項演算の操作方法は冒頭で僅かに触れる程度で流され、全ページの7867が数値解析プログラミングの手法と評価方法に割かれている。この書きっぷりは、本機で「ユーザの手許に転がっている直近の諸問題について、真値や近似値をお手軽に求解する」ことを放棄するようユーザに要請しているかに映る。

ここまでの事情を把握すると「RPLで実装された関数電卓は、数値解析プログラミング専用なのか?」という疑問が頭を擡げるが、その答えは附属のマニュアルにある。本機のマニュアルは、操作と仕様を解説する全342ページのOwner's Manualと、実装したすべてのRPLコマンドを辞書として解説した全357ページのReference Manualの2部構成だが、HPはOwner's Manualの冒頭で

Congratulations! With the HP-28S you can easily solve complicated problems, including problems you couldn't solve on a calculator before. The HP-28S combines powerful numerical computation with a new dimension---symbolic computation. You can formulate a problem symbolically, find a symbolic solution that shows the global behavior of the problem, and obtain numerical results from the symbolic solution.
(おめでとうございます! HP-28Sでは、それまでの関数電卓では解けなかった複雑な問題を簡単に解けます。HP-28Sは強力な数値解析と新しい次元である記号的計算が組み合わされています。問題を記号的に定式化し、問題の大域的な振る舞いを示す記号的な解を求め、その記号的な解から演算結果を得られます。)

と、これまでのRPN関数電卓とは指向(志向)や動作が大きく異なることとともに、声高らかに「数値解析プログラミング専用である」と宣言している。「数値解析と記号的計算を組み合わせ」、「問題を記号的に定式化し、記号的に解き、そこから演算する」とは、数値解析プログラミングの定義そのものである。実際に本機を「数値解析プログラミング専用コンピュータとして」使うと、かなり心強い。特長にも記した「BCDによる精確な演算」はそのまま生きているため、例えば、先ほどの sinπ3=32 の演算結果として得られた近似値0.86602540379に続けて 2 ×  x2 (本機では右側にある + キー)と押下する、即ち(32×2)2の演算結果は、マイクロプロセッサをSaturnに置き換えることで演算範囲を拡大しつつもソフトウェアによりユーザへ提供する演算範囲をマイクロプロセッサのそれより狭めた(余裕を持たせた)ことで正解の3.00000000000が得られるが、この演算を最初から数式として入力後に数値化する、即ち(2sinπ3)2を演算すべく 2 ENTER  π ENTER 3 ÷ TRIG  SIN   x2 と入力して 'SQ(2*SIN(π/3))' を表示させた後に  NUM で評価しても、同じく正解の3.00000000000が得られる。

これは、先述した「半導体技術の進歩と低廉化」により、関数電卓でも採用できる低価格なマイクロプロセッサの演算性能とROMとRAMの容量が、ユーザが関数電卓に求める演算性能を越えたことの現れである。演算範囲が1×1099から9.999999999×1099であるNut以前の機種で同じ演算をすると、演算範囲の上限である9桁に設定すると2.999999998を得るものの、8桁に設定すると正解である3.00000000を得るのと同じ原理[9]である。これによりHPは、演算性能を常に上限まで使うことで上限付近では演算誤差が出ることをユーザにも許容してもらわざるを得ない製品設計から、演算性能に余裕が出たことで(見掛け上の)上限で演算しても誤差が出ない製品設計に転換した。無理数を含む数値演算が主である関数電卓としては後者が望ましいのは言うまでもないからだ。

初めてRPLで実装された機種は、1986年6月1日発売の財務・金融向け関数電卓HP-18Cだが、これはRPNではなく中置記法で、かつ、System RPLのみを採用する[10]に留められた。User RPLを含むRPLをフルで実装した機種は、1987年1月5日に発売された、本機の先代にあたるHP-28Cである。

「階層化メニュー」という絶望

ラインナップを一新する際に並行して実施されたのが「関数とコマンド入力の『階層化メニュー』化」である。

「階層化メニュー」とは、物理キーが割り当てられてない関数や機能を入力する際、HPが設定したカテゴリ毎に作成されたディレクトリ(HPでは「メニュー」と呼称)に移動し、そこに括られた関数や機能の一覧を呼び出して表示させ、その一覧から目的の関数や機能を選択して入力するという、非常に手数が掛かる面倒なユーザインタフェースを指す。この変更は典型的なまでの自己満足で、新規のユーザはもちろん、既存のHP製PRN関数電卓ユーザも絶望に叩き落としたほど使い難い。もし「HP製電卓の汚点か欠点を挙げろ」と言われたら躊躇なく指摘する愚挙のひとつだが、以降もなぜか、HPは関数電卓で階層化メニューを採用し続けた。一体誰がこんなものを要求したのだろうか。

特に、歴代のHP製科学・数学向けRPN関数電卓でHP-28Cと本機のみ、内蔵している関数の物理キーをすべて排除してしまったため、キーインすべきステップ数が無駄に多くなった。僅かに残った物理キーは、置数 0 〜 9 と小数点  と四則演算 +  × ÷ と ENTER と正負の変更 CHS と指数部の入力 EEX と電源 ON とシフト  のみで、使用頻度がかなり高いであろう三角関数 SIN COS TAN 、常用対数 LOG 、自然対数 LN 、逆数 1x 、開平 x の各物理キーが無い。辛うじて逆数 1x と開平 x はそれぞれ  ÷ と   が割り当てられているものの、三角関数は先述の sinπ3 の演算例の通り、度数法または弧度法で角度を入力後、三角関数メニューを呼び出す物理キー TRIG を押下して三角関数メニューを呼び出し、液晶ディスプレイ最下行に並ぶ  SIN  ASIN  COS  ACOS  TAN  ATAN に対応するメニューキーから目的の三角関数を選択する、という手順になる。たかが三角関数の演算でここまで手順を踏ませるのは異常だ。ちなみにHP-28Cと本機では、なぜか三角関数でグラード(フランス度)がオミットされ使用できない。

三角関数ですらこの有様なので、使用頻度が低めの関数では更に酷くなる。例えば 69! を演算するには、本機では階乗が実数関数 REAL メニューの下にあるので、 を押下後に REAL (本機では左側にあるアルファベットキーのうち F キー)を押下して液晶ディスプレイ最下行に実数関数メニューの1ページ目である  NEG  FACT RAND  RDZ  MAXR MINR を表示させた後、6 9 FACT と順次押下することで、近似値である1.71122452428E98が出力される。つまり、階乗が実数関数 REAL メニューの下にあることを知らなければ手も足も出ず、階乗が演算できないのだ。使用頻度がそこそこ高いであろう常用対数 LOG と自然対数 LN も対数関数/指数関数/双曲線関数 LOGS メニューに押し込んでいるため、置数後に  LOGS (本機では先述の TRIG キー)と押下して対数関数/指数関数/双曲線関数メニューを呼び出し、1ページ目の  LOG  ALOG  LN   EXP  LNP1 EXPM から  LOG  か  LN  を選択しないと演算できない。なんと面倒臭いことか。なお、数少ない物理キーである NEXT を押下すると2ページ目に遷移し双曲線関数と逆双曲線関数  SINH  ASINH  COSH  ACOSH  TANH  ATANH が並び、再度 NEXT キーを押下すると1ページ目に戻る。実は先ほどの実数関数 REAL メニューは全4ページあるので、NEXT キーを押下する度に2ページ → 3ページ → 4ページ → 1ページ → 2ページ…とループしながら移動する。つまり、あるメニューの奥のページに置かれた関数を呼び出すには、キーインするステップ数が更に増えることになる。莫迦莫迦しいったらない。

これがHP-41シリーズであれば、関数は階層化されておらずフラットで、コマンドとして入力する文字列が関数の英単語に由来しているため、キーイン数が多少増えたとてユーザがRPN関数電卓特有の操作方法として記憶すべき事項は少なく済み楽である。先ほどの例で比較すれば、三角関数/常用対数/自然対数/逆数/開平はそれぞれ単独で物理キーが設定されているので比較対象にすらならず、69! は 6 9 XEQ ALPHA F A C T ALPHA と入力する。階乗ではキーインするステップ数は多いものの、「階乗」が英語で"factorial"であることを知っていれば想像できる操作のためユーザの負担とはならない。この操作方法は、拡張スロットに別売のソフトウェアであるアプリケーションパックを装着し、それに含まれる関数を呼び出す際も同じである。本機に限らず、HP製RPN関数電卓が内蔵している関数を呼び出すためのコマンド名称は被らぬよう一意に定められているので、ディレクトリ毎にまとめる(カテゴライズする)意味が無いうえ、HPの本拠はアメリカであり、関数電卓を使用するユーザ層で英語を解さない者は非常に少ないであろうことからも、内蔵関数の入力方法としてはHP-41シリーズのこの実装のほうが遥かに素直だ。

階層化メニューの致命的な欠点は、ユーザが使用したい関数がどのメニューの配下にあるかをすべて記憶していることが前提で、目的の関数を入力するにもいちいち階層化メニューを上から辿らねばならず、そのためにキーインするステップが増えることで、RPNを採用したことで得られるはずの「キーインするステップ数が減らせる」メリットを吹き飛ばしたうえ、ユーザの思考を中断したり停止したりすることである。ユーザが関数電卓でやりたいのは「頭に浮かんだ数式と数値から真値や近似値を求めること」であって「階層化メニューを上ったり下りたりすること」ではないのだから当然である。これに、内蔵した関数の物理キーをほぼ全て排除する愚挙が組み合わさったことで、HP-28Cと本機の操作体系は致命傷を負った。もしHP-41シリーズから本機へ乗り換えたユーザが居たら、新たに階層化メニュー(使用したい関数のカテゴライズ)をすべて覚え、入力するにもいちいちメニューを選択して上り下りせねばならないユーザインタフェースに苛々すること請け合いである。

では、なぜHPはHP-28Cと本機で内蔵関数の物理キーをここまで強硬に排除したのだろうか。その理由は不明だ。「RPLのソースコードを書くときは内蔵した関数をアルファベットキーで直接入力するし、内蔵したすべての関数は階層化メニューで表示するから、物理キーは不要だ」と安易に判断した結果だとしたら、開発担当者はその時点で、ユーザがHP-28Cと本機を「関数電卓として」常用することをまったく考慮してなかったことは確実だ。「HP-28Cと本機は『数値解析プログラミング専用コンピュータとして』常用するものなので、ユーザが演算する=プログラムを実行するときは内蔵関数を頻繁に引っ張り出すことも無いだろうし、ここで多少手数が増えたとてユーザは許してくれるだろう」とゴーサインを出したのだろうが、当然、この方針は受け容れられなかった。ユーザからは「プログラミングも大事だが、我々が購入したは『関数電卓』なのだから、高頻度で使う内蔵関数の物理キーは必要だ」という声が一斉に挙がることになる。このクレームを受け、次にRPLをフル実装したHP-48SXとその改良版であるHP-48GXでは、なぜか階層化メニューは堅持されてしまったものの、クラムシェル型筐体とともにこの方針は放棄され、ストレート型筐体とともに使用頻度が高い内蔵関数の物理キーが復活した。

ちなみに、本機には、内蔵しているすべての関数と引数を検索するカタログ機能もあり、 CATALOG (左側にあるアルファベットキーのうち Q キー)で呼び出せるが、Owner's ManualではFor a complete description of any command listed in the catalog, refer to "Operation Index" in the back of the Reference Manual. (カタログに記載されているコマンドの完全な説明は、Reference Manual巻末の「Operation Index」を参照してください。)とReference Manualの併読を推奨するほど記載内容が貧弱であるため、結局はユーザが各関数を記憶しなければならないことに変わりはない。

ケースが割れる電卓

このように「数値演算プログラミング専用コンピュータ」として仕上がったHP-28Cと本機は、eBayをはじめとする中古市場やオークションサイトで明らさまに不人気である。稀に出品される新品でも200ドル周辺、中古品では80〜150ドル程度の値付けとなるが、それでも売れ残っている。その理由は先述したように「HP-28Cと本機は、関数電卓としての常用に堪えない」ことと共に、HP-25と同様、ハードウェアの設計ミスが大きい。クラムシェル型筐体であるHP-18C/HP-28C/本機の3機種共通の有名かつ致命的な問題として「簡単にケースが割れる」のだ。

クラムシェルを開いて右側上部側面に単5電池3本を入れる電池ボックスがあり、電池を装着した後はスライド式の蓋を噛ますのだが、電池ボックス内で単5電池を押さえるバネの強さ(バネ定数の大きさ)と、蓋を押さえるためにケースに設けられた切り欠きの薄さ(プラスティックの引張強度)が釣り合っておらず、バネが強過ぎる。そのため、電池が入ってない場合は容易に蓋をスライドさせることができるものの、電池を交換する場合は蓋をスライドさせることすら難儀し、不用意に力を込めてスライドさせるとケース側の切り欠きが簡単に割れて飛んでしまう。このときの割れ方次第では切り欠きがすべて無くなってしまうことも多々あり、そうなると蓋が押さえられないため電力が供給できず、その時点で使用不能となる。

「電池交換作業がスリリング過ぎる」この問題は、1986年6月1日に発売されたHP-18Cから指摘され続けており、「行き過ぎた内蔵関数の物理キー排除」と「階層化メニュー化」も相俟って、HP-18C/HP-28C/本機の3機種の不人気ぶりに拍車をかける要因となっている。

よって、中古品で放出されているこれら3機種のほぼすべてで電池ボックス部のケース側が割れており、割れてないものを探すほうが難しい。出品者が独自に修理した筐体もあるが、見て呉れが悪いうえに修理内容が正しいかどうかを客観的に判断する手段が無いため、手を出すのは危険だ。それでも本機を購入するなら、極く稀に出品される新品を選ぶか、中古品の場合は電池ボックス周辺の確認[11]を強く推奨する。管理人は、完動品で、かつ、電池ボックス部が無傷なものが90ドル周辺という低価格で出品されているのを見付け4台購入している。

ちなみに、管理人が考える電池交換作業のコツは、蓋を外す際は「電池を強く押す状態でミリ単位でスライドさせ、電池が見えてきたら、新品の割り箸など『不導体の細い棒』で電池を強く押し込んだ状態を維持しながら、ミリ単位で外していく」、付ける際は「新品の割り箸など『不導体の細い棒』で電池を強く押し込んだ状態を維持しながら、ミリ単位でスライドさせて装着する」。いずれにしろ、電池交換で蓋をスライドする際は、蓋以外のもので電池を強く押し込んだ状態を維持するために「先が細い不導体の棒」が2本必要である。附属マニュアルでは英語版でも日本語版でも「指で電池を奥に押してください。」「ふたを溝に差し込みます。必要に応じて、指で電池を奥に押してください。カチッと手ごたえがあるまでふたを横に押し込んでください。」としているが、指が攣るほどバネが強いため、手軽な不導体の棒として新品の割り箸を電池の押さえに使用し、極めて慎重にスライドすることを強く推奨する。

tan355226 [rad]=7497089.06508 (εR=2.26×105)

(ln884736744π)2=43.0000000000

スタック 無制限 (内蔵メモリが許すまで)
プロセッサクロック周波数 1MHz
使用電池 単5電池×3個
製造期間 1988年〜1992年
製造国 アメリカ、シンガポール、ブラジル
1988年発売時の定価 235ドル (約30,100円)

脚注

  1. HP-16Cと異なり、演算させるには基数を揃える必要がある。
  2. 2020年代で観ると、新機種を継続して開発・販売しているのはカシオ計算機だけだ。電卓だけで年間400億円も売り上げている様は社名に違わず流石で、関数電卓のシェアが日本はもちろん世界でも1位なだけのことはある。シャープはまだ辛うじてポツポツと新機種を出すものの、とうの昔に関数電卓でグラフィック機能の実装を止めてしまった。この分野ではカシオ計算機やTIには敵わないと考えたのだろう。キヤノンに至っては新機種の開発すらしておらず、LSIやその他の部品がディスコンとなった際に合わせて型番を変更しラインナップを維持する程度だ。恐らく昔からの固定客だけを相手にしており、それ以外への拡販なんぞ微塵も考えていない。このままだとキヤノンが電卓事業から撤退する日も近いと思われる。
  3. こういった手段は本機以前の機種でも用意されている。例えばHP-41CXをはじめとするHP-41シリーズには、拡張スロットに装着するモジュールとして“ET 11966 SERVICE ROM”が用意されており、修理エンジニア向けの190ページ以上あるサービスマニュアルは、主に、SERVICE ROMの使用方法と、それによる故障判定方法を詳述する内容である。
  4. 横河・ヒューレット・パッカード株式会社(YHP)が日本国内向けに翻訳したマニュアルでは、ネジ留めケースのHP-15CHP-16Cでは「材質上や製造工程上の不具合に対してお買求めの日から1年間の保証をいたします。(中略) 保証期間中の修理・改造・部品交換などの費用とお客様の返送料は当社負担です (後略)」とケースを開腹しての修理作業を前提とした保証内容だが、熱溶着ケースの本機では「計算機の保証期間に関係なく、正しく動作しないときはいつでも修理または当方の判断によって交換(同等品または改良品)に応じます。ただし1年間の保証期間が切れたものは有料になります。」と変更されている。これがHP-42Sになると「故障と判定した製品は無償で修理または新品に交換いたします(交換の場合には、同等またはより高い機能の新型になることがあります)。」と最初から新品への交換を前提とした内容に変更されている。
  5. 仕様により、ユーザがソースコードに書いたUser RPLのコマンドは、エラーの有無を逐次確認してから実行する。よって、ユーザがUser RPLで書いたプログラムは、System RPLのプログラムより処理速度は大幅に遅い。それでも、System RPLの一部をユーザが直接叩けることに変わりはない。
  6. 本機のSaturnプロセッサがHP-41シリーズのNutプロセッサと較べて2.5倍の1MHzで駆動しているのは、インタプリタによる演算速度の遅さをマイクロプロセッサのクロック周波数を上げることでカバーする意図も含まれていると思われる。なお、User RPLが開放されてないHP-18CでのSaturnプロセッサのクロック周波数は640kHzで、HP-41シリーズのNutプロセッサの約1.5倍ある。
  7. PCを含むコンピュータでは、ユーザが書いたソースコードをコンパイラに通して機械語に変換・生成された実行可能ファイルを使用するのが一般的である。マイクロプロセッサがファイルを読解し実行する速度は機械語が最速だからだ。インタプリタはスクリプトを走らせるときに使われる場合が殆どだろう。そもそも、インタプリタ自体がコンパイラで生成された実行可能ファイルだ。
  8. その手口は、歴史と現在にも記載した、HP 9100Aの附属マニュアルによるRPNの操作説明と同様、特異であることを噯にも出さず、然もそれが当たり前かのように説明するものである。
  9. 詳細や真偽は不明なものの、キヤノンの関数電卓は、同じ原理で高精度な演算結果を得られるようになっているらしい。が、管理人はキヤノンの関数電卓について過去と現在を比較できる知見を持ち合わせてないどころか、1度も見たことも触れたことも無いため、何も解らない。管理人の父が使っていた=実家の居間に転がっていた関数電卓もカシオとシャープだけなので尚更である。
  10. 即ち、User RPLがユーザに開放されてないため、HP-18Cはプログラミングできない機種なのだが、ではなぜUser RPLを開放しなかったのか? なぜHP-28Cと本機と同様の、アルファベットキーが独立したクラムシェル筐体を採用したのか? 管理人の視点からは不明としか言い様が無い。まず、金融・財務向けだからとプログラミング機能をオミットする理由が見つからない。1980年発売の超ベストセラー金融・財務向けRPN関数電卓であるHP-12Cはプログラミング可能である。また、HP-18CのOwner's ManualにはThere are a number of situations where the HP-18C requires you to type alphabetic information into line 3. (HP-18Cでは、3行目にアルファベットの情報を入力する必要がある場面がいくつかあります。)とあるものの、挙げられている場面は極めて限定的である。演算過程や結果を表示または印刷する際に歳入/歳出費目を独自に設定するのが精々で、プログラミングのように長文を入力する場面は無く、わざわざアルファベットキーを独立して設ける理由が見つからない。つまり、HP-18Cでクラムシェル型筐体とRPLを採用すること自体、明らかにオーバースペックなのだ。「ひょっとして、HP-18Cは、クラムシェル型筐体とRPLの組合せで関数電卓を開発する練習台として企画・製造・販売したまでで、本命はHP-28Cだったんじゃないか?」と、管理人は下衆の勘繰りをしている。
  11. eBayで外観が良さそうな本機が出品されていても、意図的に電池ボックス部を隠した写真が掲載されていることが大半である。管理人は本機を出品していた6人に「電池ボックス周辺と蓋を写真で見せてくれないか」と依頼したが、見せてくれた出品者は皆無で全員に無視された。eBayの取引で購入者からの質問を無視することは通常有り得ず、本機に関する問合せ以外では遭遇したことがないので非常に驚いた。即ち、無視されたことを以て「『割れている』と回答した」と解すべきなのだろう。