かとのぼダイアリー

エンジニア兼サービス開発者のプログラミングと雑記ブログ

かとのぼダイアリー

エンジニア兼サービス開発者のプログラミングと雑記ブログ

その意味がわかる時がくるまで【技術書というフレームワークをうまく生かす】

 初めてプログラミングを学んだ時、それは私が多くのプログラミング技術書と出会った時ということですが、いつも不思議に思うことがありました。それは自分には大事に思えない内容なのに、なぜか大々的にいつも触れられている文法についてでした。

色々な技術書で重複する内容というのは、それだけ大事だという証拠ですから、その箇所を重点的に学ぶことが学習の早道になります。ただ、私には「繰り返しの方法」と、「選択肢の分岐の方法」がなぜここまで大々的に取り上げられるのかが不思議でなりませんでした。何かを単調に繰り返すって、私たちの生活でそこまで使うシチュエーションって浮かびません。だからどうしてだろうと思っていました。

 結局、プログラミングでは繰り返しと分岐をたくさん多用するのでどの書籍でも説明していたわけですが、その当時は肌感覚として全く理解できていませんでした。

実はこの記事を書いている現在も、この私の感覚に同意してくれる人って少ないのではないのかなぁと思ったりしています。なぜなら、経験者には繰り返しや分岐が大切なのは当たり前になっているし、初心者にはわかるようなわからないような、いまいちピンときていない可能性が高いからです。

しかしこういった、熟練者には当たり前に見えている景色だけど、初心者には重要性が理解しづらいことって世の中にはたくさんあると思います。そしてその違和感の壁を自分自身で覚えいて、その壁に橋をうまく繋いであげることができる人が優れた指導者になれるのだと思います。

自分の心に落とし込むまで実感ができないものがある

「獣の奏者」という小説で印象に残っているシーンがあって、ある子供が無邪気にある言葉にした時、「その言葉を使ってはいけない」と主人公が叱ります。子供は「どうして使ってはいけないの?」と聞きますが、主人公は「私が使ってはいけないと言った意味が理解できるまでは、その言葉を口にしてはいけない」と諌めている場面がありました。

「どうして?」と聞く子供に、「どうして?と思わなくなるまでは使わないこと」と説明するのは一見答えになっていないようにも感じます。ただ、それはその子供が自分で理解する他に伝えることはできないのです。

言葉としては使うことができるが、その中身まで理解して初めて実感と質量を持つ言葉が確かにあります

 

技術書という枠(フレームワーク)

この考えを持った時に、本という形式の優れた部分と弱点が改めて浮き上がってきました。それは、一つの技術書が、一つの枠(フレームワーク)であるということです。

フレームワークとは日本語で「枠組み」と訳されます。プログラミングでは、便利なツールの集合体として呼ばれます。今回は単純に「枠組み」と言ったニュアンスで使っています。

技術書とは、プログラミング言語で大事な知識を、本という形で一括りにしたフレームワークだと考えるとしっくりくると思いました。一つの知識の枠組みを作ることで、初心者が大事なのだと一見わからない知識を、しっかりとサポートしてあげて、後々の大事だと気付く時に備えてあげるのです。

また、必要だと思われる内容が満遍なく書かれているので、独学でよく起こる知識の大きな偏りも防いでくれます。

優れた技術書は優れたフレームワークなので、読者をうまく導いてくれます。しかし、ダメな技術書(これは残念ながら沢山あります)では、どんなに頑張っても挫折してしまうでしょう。これは、どうしても著者の伝えるというレベルが本に表れてしまうからです。

つまり技術書の優れた部分は、フレームワークとしてその知識の重要度を読者が知らずともしっかりと身につけさせ、人々の後の成長と理解を大きく伸ばしてくれる点です。弱点としては、この目的からずれた悪い書籍に当たるとどんなに頑張ってもほとんどの初学者は挫折するしかないということです。

この問題を解決するには、たくさんの本を当たって、優れたフレームワークに出会うか、もしくは多々ある技術書で共通する知識を学ぶしかないと思います。

そしてもっとも大事なのは、その時自分が大事に思うかどうかではなく、技術書が大事だと言っているものをできるだけ素直に掴み、学習するということです。

理由はもちろん、今の自分のレベルではその知識の重要度は測ることができていないだけで、後で大事だと気付く可能性が高いからです。

このif文とfor文の深い理解についても、後々のプログラミングの成長に繋がるとわからずに苦戦している初心者の方を時々見かけます。これは自分の尺度で判断した結果、この知識をずっと侮っているからでしょう。

技術書を後々の成長のためにうまく使いましょう。

 

獣の奏者 1闘蛇編 (講談社文庫)

獣の奏者 1闘蛇編 (講談社文庫)