2020.09.11 コンピュータと対峙するときの思考の深さ

EffectiveJavaの翻訳者の柴田先生が、うちの会社向けに研修をやっていただけるとアナウンスがあり、応募して受けることにした。それが今日からだった。あらかじめ決められたページまで読んできてから質問表に書くという形式で6つほど質問を書いていた。

が、集まった参加者がみなJava初心者ということで最初から音読しましょうということになり、音読しながら先生が「ここに書いてあることが分かりますか」と質問していく。

おれは「ディスクのページングって何ですか」と聞かれて答えられなかった。物理的メモリを抽象化した仮想メモリのセグメント、というようなイメージだったが、それはそもそもページのことであってページングでは無かった。「大学で習いませんでしたか?」と煽られつつすいませんと答えるしかない。当時勉強したときは、まだ、コンピュータのハードウェアとソフトウェアの関連性がいまいち掴めていなかったし、ソフト的な側面にしか興味が湧かなかったこともあり、あまり覚えていないのであった。恥ずかしい。いまCPUからコンピュータ作っているからもう少ししたらOSレイヤーまで到達していてきっと答えられたんだが、とは思った。

「ハッシュテーブルってなんですか?」には答えられた。うっすら記憶しか無かったが、ハッシュ値のmodとるとかアドレスがぶつかった時のためのアルゴリズムとか、意外と覚えていてやるじゃんと思ったが、TAで参加していた同期はもっとすらすらと誦じていたので、コンピュータと対峙するときの思考の深さが何倍も違うのだと思い知らされるのだった。

こういう強い刺激を求めていたんだと気付いた。3月まで毎月あるのでがんばって勉強しよう。こんな楽しいことない。良い会社に入ったと改めて思った。