2017年9月12日火曜日

究極の速読法 ~リーディングハニーⓇ6つのステップ~ を読んで、やる気が出た話(書評)

速読法は本当に存在するものなんでしょうか。
一冊10分とか、ビジネスリーダーが備えるべき技能で、とか、どうもうさんくさいですね。
とはいえ、本が早く読めるというのは、様々な知識を僅かな時間で吸収できるということになるので、技能があれば、たしかに便利なはず。

そこで速読法をためしてみたくなり、速読に関する本を探したわけす。
できるだけ「うさんくさくないの」というテーマで、私が辿りついたのが、この本です。



「うさんくさくないの」ですかね。これ。


速読以前に「本が読めない」という事がある


若者の活字離れが叫ばれる昨今、実は、活字から離れているのは若者だけではなく、社会人全般、活字から離れているのが現状です。

たとえば、ビジネスマンの中には信奉者の多いピータードラッカー
彼の名前を知っている人は多いと思いますが、彼の書籍を通読出来た人は、実際そんなに居ないと思います。
今回紹介する本でも、ドラッカーの本を通読できている人が非常に少ない点が指摘されています。その理由としては、難しくて内容について行けない、というのももありますが、そもそも読む為のスキルが足りてない、本を読むための基本のスキルが無いという事が多いのだと、この本は指摘しています。
本を読む為の基本的スキルが備わっていないと、途中で挫折する事になるというのです。ドラッカーを読もうと思った事は無いのですが、そのままやれば、自分もきっと挫折する一人でしょう。

本書では、本を読むスキルには4つのステージがあるとしています。どんな本でも素早く読めるのが「ステージ4」、業務など自分の興味のあるテーマに関連する短く書かれた書籍なら読める、というのが、「ステージ3」になります。多くの人が、この「ステージ3」に位置する事になります。
そうです。大多数の人は、自分に関係のある本なら、文章量には依るものの、だいたい最後まで読み切る事ができるのです。

しかしながら、通読できるのは、自分の身近なテーマに限定されています。喫緊な必要性が無い(但し、長期的には必要な)テーマについて書かれた書物については、通読することができず、途中で挫折する事になるのです。挫折しない方法を身につけていることが、本書で言う、本を読むためのスキルです。つまり、

21世紀の資本」を読むにはスキルを要します。 (728ページだから)
サピエンス全史」を読むにはスキルを要します。(上下巻それぞれ300ページだから)

本書は、たとえこれら難解な本であっても、最後まで読み切れるのを目指します。これらの本を、一冊10分で読み切るような、超絶技能を身につける事は目指していません。
地に足の着いた、妥当な落としどころにフォーカスした本となっています。

つまり「うさんくさくないの」です。


全部読まずにポイントを抑える


この表題で、「なんだスキミングの話か」と思った方も多いかと思います。
実際、スキミングのテクニックを使用します。しかし、そのテクニックが登場するのは、本を読む工程の一部のみです。
本書では、本を通読する為に、6つのステップを経ることとしています。
6ステップの詳しい話は、本書を読んで頂きたいのですが、かいつまんで言うと、都合4回、最後まで本に目を通す事を繰り返します。
その工程の中で、下記の状態を作って行きます。
  • 「何の話か理解出来ている状態」を作り出すこと
  • 「各章、各節に何が書かれているか」を知ること
  • 「話はどのように展開するか(=全体の構成)」捉えること
これを、表層を読む最初のステップから、徐々に熟読していくステップを経て、記述されるポイントの輪郭が見いだしていきます。そのなかで、ポイントに関連が無い記述は、容赦なく読み捨てていきます。
この、関連が無い部分を読み捨てるというのが、本を読む上で、なかなか出来ないわけですが、一語一句しっかり読むのは時間のムダであり、本を読む上で苦痛しか生まない、というのが、本書のスタンスです。

本書が示す6つのステップを行いながら、最終的に、
「自分にとって大切なポイント」
or
「著者の述べるポイント」

上記のうち、どちらかを見いだします。両方ではありません。それは、読みたいと思っている本は、この二つのポイントのいずれかテーマにして手に取ったはずだからです。
「著者の述べたポイントは自分の仕事にも生かせるかもしれない」という読後感の本と、
「自分はそうは思っていなかったが、著者が述べるのはこういう事のようだ」という読後感の本とでは、根本的に書かれているテーマがそれぞれ異なっているはずだからです。
最終的に上記2つの状態のいずれかとなる事を、本から見いださなければなりません。それを見いだした上で、改めてポイントを深く理解する為に、必要に応じた時間を使う事になります。


難しい本に挑戦する意義


本書が提唱する6つのステップを活用すれば、難しい本が読めるかも知れません。難しい本とは、すなわち自分とはあまり関係の無い、専門外の領域の本です。
本書では、自分の専門外の本を読むことには、大きな意義があるとしています。
自分の専門技術を追求する為に役立つ本を読む事は重要です。技術の進歩は目覚ましく、その進歩について行くには、これまで以上に沢山の本を読まないと行けないでしょう。
実際、技術者は、自分の専門技術だけではなく、専門分野以外の能力も強化しなければなりません。(技術者に成り立ての頃は除く)
本書の言うように、
ロケットを飛ばす技術を持っていても、政府との交渉を上手く進められなければ、ロケットを飛ばす事はできない。 のです。

政府との交渉の為には、交渉という、技術者にとって専門外の能力が必要になります。この能力を養うのが、専門外の難しい本に挑戦する意義です。専門外の書物も通読できるスキルが、専門分野の能力を発揮する為の環境を整えてくれると、本書では述べられています。

なんだかやる気が出てきます。

まさに、速読界隈ではむしろ異色とさえいえる、「うさんくさくないの」が、本書と言えます。

2017年9月8日金曜日

(書評)「C言語」ポインタが理解できない理由-2011年の本

「C言語」ポインタが理解できない理由
 



筆者はC言語のポインタを理解しているつもりですが、かといって今、この場でC言語のプログラミングをしてみろ、と言われたら、100%バグを組み込むだろうという確信があります。

普段仕事で使わない言語だとこともあります。とはいえ、さすがに今のご時世で、C言語は滅多に使わないので、気にしないことにしますが。

とはいえ、ポインタという概念そのものは、これだけ時代が進んでも、まぁまぁ使われる気がするので、覚えるに越したことは無いと思います。

多くのDBはCやC++でドライバ等が組まれていて、たとえどんなに小さなアプリケーションでも、DBを使わないものはそう滅多に無いと思います。

DB利用アプリで、メモリ系のトラブルがあった時、ポインタとメモリアドレスの様子をすぐにイメージできれば、プロセスのメモリがどこにアサインされ、どのプロセスのデータセグメント上にあって、それがスタックなのかヒープなのか、といった筋道を立てた推理がしやすくなります。その点、ポインタの概念は、今後変わらない普遍的なものであり、エンジニアが備えるべき教養とも言えます。

「C言語」ポインタが理解できない理由は、このポインタの事だけに焦点を当てた本です。
ポインタの概念を理解しようとする上で、つまづくポイントは人それぞれです。

「ポインタのポインタ」でつまづいた人もいれば、ほぼ基本となる「メモリの使い方」の段階で、つまづいた人もいるはずです。
こうしたつまづきを経験した人にとって、本書はうってつけの本です。

本書を読む際、自分のハマりどころに直接ジャンプして、そこから読みすすむのも良いのですが、冒頭から読み進めるのをオススメします。
これは、筆者の個人的な体験からくるオススメであり「分かったつもり」をできるだけ排除する意味があります。筆者もそうだったのですが、ポインタについて、ある程度の難度まで習得したと思っていても、実はそれより前の段階で、理解や認識のモレがあった為に、つまづいてしまっていることがあり得るからです。これが「冒頭から順番に」をオススメする理由です。
本書のサンプルコードを試していきながら、ステップバイステップを実践していけば、ポインタの理解が深まることでしょう。

なお、「今時、自分のPCにC言語の開発環境なんて無い」という方もおられるとおもいます。安心してください。
昨今はWeb上で、様々なプログラム言語によるコーディングができるサービスが公開されています。

C言語のコード補完機能付きREPL※で、オススメしたいWebサービスは「repl.it」です。
C言語を選択すれば、すぐにコーディング環境がWebから利用できます。(Githubアカウントが必要です)

※REPL:Read-eval-print loop-読む、評価する、表示する、ループさせる、という一連のお試しコーディングができる環境の事
また、「自分のローカル」でREPLを構成したいと言う向きには、弊ブログの過去記事にて、CERNが提供するClingというREPLについて記載してありますので、そちらを参考にしてください。

本書の完全クリアで、是非ポインタをしっかり理解していただければとおもいます。