どうもこんにちは、n清(@n_nkiyo)です。
今回、いつものようにTwitterを眺めていたらふと目に入ってきた「プログラマが知るべき97のこと」気になったので調べてみたところなんと、ネット上で無料公開されている上に、日本人の著名プログラマが10個のコラムを加え97+10で107個の話が載っているデラックス版になっていました(笑)
ということで早速読み始めたはいいのですが、これがあまりにも面白く気づけば半日を費やして一気に読み終えてしまいました・・・
そこで今回その中でも特に心に引っかかってきた言葉や話をいくつか抜き出して紹介しようと思います。
・コードの論理的検証より
「24行制限」は今も有効である。ディスプレイや解像度は変わっているが人間の認知能力は1960年から全く変化していない。
これは、ハッと気づかされました。
たしかに、1960年と比べれば差は歴然ですが、ほんの2、3年前と比べても機械の進歩には目を見張るものがあります。
しかし、肝心の進歩した機械を使う人間はというと、大きな進化を遂げることができるはずもなく、ましてや「認知能力」などという人間としての根幹とも言えるレベルの部分で変化が生じるはずもありません。
だからこそ、根源的な部分での「分かりやすさ」「美しさ(これは芸術的でなくプログラム的な)」と言った部分ではたとえ半世紀近くも前の概念であろうと十分に通用してしまうどころかむしろ優先して通用させていかなければならないレベルにまで達しているというわけです。
実は僕自身はまだ実務経験がなく他の人の書いたコードを読むという機会が多いわけではないのですがたまに読む機会があった際はやはり、読みやすいとこちらとしても嬉しいですし、相手のプログラマーに対して余計な猜疑心を抱かずに済みます(笑)
1万時間の訓練より
・「課題のための課題」にならないようにする
・訓練の目的は習熟度を上げることであり、個々の課題、作業をこなし、完了することではない。
・持って生まれた才能はあるレベルを超えると意味を持たなくなる。 Mary Poppendieck
「ある分野でプロになるには1万時間の訓練が必要である。」これを、またはこれに近しい言葉を聞いたことがある方は多いと思います。
しかし、改めて「課題」と「訓練」の違いを明記されると気づかされることは多くありました。
1万時間の訓練とは、「どこか決められたゴールに向かって歩みを進め、1万時間の後にそこにたどり着くことができる」というものではなく「今の自分の限界よりも少しでも高い部分を、より深い知識を求め、その獲得に向け努力を続けた1万時間の果てに、どこにたどり着いた、何を達成した、というわけではなく自ずと作られているもの、あえて言葉にするならばその分野における『エキスパート』になるということ」だとこのコラムを読んで考えました。
・最後に
ここまでつらつらと本当に自分勝手に書いてきましたが、ここで抜き出させてもらった2つがたまたま私の心に深く残ったというだけで、そのほかのすべての文章がとても面白く、大変な興味をそそられるものであったことは間違いありません(特に『みられて恥ずかしいデータは使わないこと』は傑作でした、ぜひ一度目を通してみてください(笑))
「プログラマが知るべき97のこと」という題名になってはいますが、たとえプログラマでなくとも読む価値がある一冊だと思います。