電卓プログラムの思い出

鈍器本の6章、7章の課題が電卓だったことで、昔の出来事を思い出したので、つらつら書いてみる。

学校に通っていた頃、一時期、自分はプログラミングのやり方が分からなくて、悩んでいた。その学校の授業では、プログラムを使って計算する課題がときどき出たので、そのたびに困っていた。

やり方が分からない、という状態を説明するのは難しい。状態というより、それは主観だからだ。とにかく、必要な処理を繋げて、最終的にやりたい処理を作るという一連の手順を、「自分にはできない」と思っていた。

要するに単に訓練不足ということだけど、それを悟ったのはつい最近のこと。当時は周りの人が全員天才に見えていたし、それができない自分は頭に何か欠陥があるのではと疑っていた。皆、様々なアルゴリズムを「すべて」「無から」「自力で発想している」のだと信じていた。

その頃、2つ下の学年に、プログラムが非常にできる後輩がいた。といっても、プログラムができるというのがどういう状態か自分は理解していなかったから、周囲の評判からそう認識していたにすぎない。

ある日、その人と雑談することがあったので、良い機会だと思って、「どうしたらいいのかな」と軽く相談してみた。

――プログラミングってよくわからんのよ。何からやればいいと思う?

その人は自分の話を聞いてくれた後、いくつか質問をしてきた(どんな質問だったかは忘れてしまった)。それから、「なるほどねー」とかひとりごとをいいながら、しばらく考えていた。

そして、「電卓を作ってみたらいいと思います」と、めちゃくちゃクリアなアドバイスをしてくれた。

「…電卓」「そう、電卓です。いや…うーん…そうだな、うん、やっぱり、電卓です」

ちなみに、この人は、この会話をした数年後、未踏ユースに採択されたほど優秀で、よくあんなhogeな学校に偶然いてくれたものだと思う。

ともあれ、ありがたい人に出会ったものだった。レベルが壮絶に低い人間に、適切な課題を示すことができるって凄い。後日、自分がショボい電卓を(たしかVBで)せっせと作っていたら、親切にもコードを見てくれた。

その人とのプログラミングの話題での接触は、この電卓の一件だけだった。でも、おかげで何とか課題に取り組めるようになった。(思い返せば、他の人とのこういうエピソードがいくつもあり、この人のおかげだけではないかもしれない)

で、まあ、昔出してもらったお題と、スッポスッポ先生の課題が同じだったので、妙に懐かしくなり、しみじみしてしまったというだけの雑談で、特にオチはないです、スミマセン。

プログラミング初心者のお題には、Wikiがよく挙げられる。けど、Webアプリケーション以前の課題としてなら、コンソールの電卓というのも、そこそこ相応なのだと改めて感じた。