Palmやパソコン上で「普通の電卓」が少い理由

多分、ほとんどの電卓が、イコールキーが入力された時点で、それまでの入力を解釈するという方法をとっているのだろう。定数計算はシャープ系の場合であれば、直前のイコールの前の演算を、カシオ系の場合は演算キーが二回押された場合の数値と演算を記憶する必要があり、この部分があるために、単純な入力の解釈ではうまくいかない。lexなどの字句解析のツールがつかえれば、カッコ付き数式を解釈する実装のほうが、定数計算のある単純な電卓の実装より簡単であろう。

たぶん、シャープ系のほうが、カシオ系よりもすこし、プログラムが複雑になるような気がする。おそらく、プログラムの容量もカシオ系のほうが少なくてすむだろう。それが、容量の要求がきつい携帯でカシオ系が採用されている理由かもしれない。プログラムのコードの容量では数式どうりの電卓>シャープ系電卓>カシオ系電卓の順番だろうと予想する。ただし、後ろのふたつの差はそんなに大きくない*1

ただ、本質的な理由はたぶん、定数計算自体を知っている人が少いからではないだろうか。プログラムがちょっと複雑になるといっても、演算と数値を記憶する変数を増やして、演算キーのあとに数値がおされた場合と数字のあとに直接演算キーを押した場合の処理を区別するだけなのだ。ほとんどのプログラマはこの処理の追加で多くのユーザーがよろこぶなら、当然追加するだろう。

*1:今、思いついた妄想だが、カシオ系の期限は伝説のカシオミニにあるのかもしれない。カシオニとははじめて1万円台前半の価格をつけた電卓である。その値段をつけるために、ほんのわずかでも半導体の数をへらす努力がなされたことは想像できる。その制約のもとで、定数計算を実装しようとすれば、シャープ方式でなく、カシオ方式がとられるだろう。そして、カシオミニが爆発的にうれたので、カシオはシャープ式にもどることはできなくなったという筋書が考え(妄想?)できる。