こんにちは、結城浩です。
最近、物忘れがひどくなっています。人の名前、物の名前がなかなか出てきません。うーん、年齢なんでしょうか。きっとそうなんでしょうね。
プログラムを書いていて、若い人がプログラムを書くのが得意なのは、記憶力が優れているからかもしれないと思うことがあります。
プログラミングの最中には、ほんとうにたくさんのことを頭に入れておく必要があります。いま書いているプログラムの変数や関数の名前と意味、アルゴリズム、この関数にやってきたときの前提条件などなど…頭の中にたくさんの情報を入れておける若い人はやすやすとそれを頭から取り出してプログラミングをしますが、「頭に対する情報の出し入れに不自由なお年頃」になると、その一つ一つのアクションに時間が掛かってしまいます。
「昔はこんなじゃなかったのに」とため息をつきたくなることもありますが、それと同時に「いや、自分の年齢にあったプログラミングスタイルがある」とも思います。
よく考えてみますと、よいプログラミングスタイルというのは、上で述べたような「頭の中に入れておかなければいけない情報」が少なくてもいいようになっています。また、いろんなことを忘れたとしてもコンピュータの助けによって困らない環境も整備されています。ですから、自分の記憶力を嘆いてばかりいるのではなく、また、若い時代の自分のスタイルに固執するのではなく、「現在の自分ならでは」というプログラミングを行うほうが前向きだなあと思うのです。
考えてみると、自分が若いときのプログラムの書き方は、非常に試行錯誤が多かった。「まずやってみるか」という具合。もちろんそれはプログラミングのような習うより慣れろの世界では重要な態度です。でもそればかりでも困る。ときにはきちんとスローダウンして、深く深く考える。たくさんのファイルを行き来して、コードのあちこちを飛び回ってプログラミングするのではなく、ひとつひとつをきっちり押さえていくようなプログラミングもいいんじゃないかな…と思っています。
とはいえ、若い人にはかなわないんですけれどね(くすん)。
でも。
でも、よく思うのです。
自分が持っていないものや、自分が得られないもの、自分が失ったものばかりに注目するのは非常に愚かなことである、と。
自分が持っているもの、自分が得ているもの、自分のところにやってきたものに注目して、それを最大限に生かすことを考えた方がはるかにはるかに建設的である、と。
隣の芝生は、いつも青いのですから。
現在自分の手元にあって、活用されることを待っているもの。それをタイミング良く生かすことができないのに、手元にないものばかりを望んでいてもしかたあるまい。年齢のせいもありますが、そのようによく思います。
また、最近の仕事の実感なのですが、自分が「あたりまえ」のように思っていることでも、本気できちんとやってみようと思うと、意外に深い世界が広がるものです。
たとえば『数学ガールの秘密ノート』では、やさしい数学を題材にして登場人物たちが数学トークを行います。そこで扱う数学は、結城にしてみれば「簡単」……だと思っていました。でも、きちんと扱おうとすると、自分の理解が不十分なところが見つかったり、意外におもしろい表現に出会ったりするのです。
実例は、嘘をつかない。
ほんとうにそう思います。具体的な実例を作ってみようとする。自分の頭の中でひねくりまわすだけでなく、実際に形にしてみる。「知っているよ」「わかっているよ」「簡単だよ」というのではなく「ほんとうだろうか」という謙虚な態度を取る。
毎日の仕事を通してそのような態度の大切さを思います。逆説的ですが、自分が若くて能力が高かったら、そんな思いには至らなかったかもしれないですね。
だから、歳を取るのは恐くない。その歳ごとの悩みや苦しみはあるかもしれないが、その歳でなければ得られない思いや、その歳でなければ見つからない宝物がきっとあると思うからです。
(結城メルマガVol.056より)