こちらの投稿と同じく、論理的思考とはなにか、どう鍛えるかという文脈で読んだ感想を投稿。
全体
論理的思考を論理的に説明した本。思考、論理、分析に分け、それぞれが何を意味しているのか、論理的思考をする上でそれらがどう寄与しているのかが書かれている。よく見かけるフレームワーク、Tips本とは違い、論理的思考とは本質的にどう言うものなのか、土台を与えてくれ、仮に今後フレームワーク、Tips本を読んだ時に、しっかりと理解を得るための基礎となりそう。読めてよかった。
思考
外から与えられた情報を頭の中で自らの知識やそれまで経験を照らし合わせ同じ部分と違う部分に仕分けし、整理して、それがなんであるかを分かり、あれとこれの関係性を理解する行為
分かるって言うのは分けるってこと。分けるってのは「同じ」と「違う」の集積であり、全てを分け尽くした状態が理解してるって言うことらしい。分かるは分けるってのは結構いろんなところで聞くことではあるがあまり、腑に落ちてなく、この章読んでよく理解できた。
ようは、得た情報や元々持っていた知識を対比して、「同じ」、「違う」に選り分けて行って対象が何であるかを認識する。
この「違う」の集積がそのものらしさを際立たせる特徴となる。というのは納得感がある。
論理
論理的であるということは、話が論理構造を備えていて、根拠から主張を導出するプロセスの納得性が高いことと理解した。
仮に、論理が論理構造を備えていた(いわいる論理は通っている状態)としても、主張が納得性に欠ける場合は、論理的であるとは言えない。相手が納得していない状態である。
結局、論理的思考によって何を得たいかというと、「客観的に正しい結論を得る」こと。
こうだからこういえそう=推論。TypeScript の型推論の推論なのでスッと入ってきた。`const name = 'tegurin'` 変数に string が代入されているから name は string と推論される。みたいな。
帰納と演繹によって、論理を展開していく、根拠と主張(結論)までの道をつないでいくことで、納得感のある結論を支える。
分析
この章は、実践的な学びをくれる章だった。
構造化って言葉これまたピンときてなかったんだけど、構成要素とそれらの位置関係とか繋がりを示すことっていうのはピンときた。数学とか理科の教科書の目次とかのイメージだと思った。
分析作業にはプロセス設計月不可欠で、情報収集に飛びつく前に具体的なアウトプットを想定した上で(仮説)で収集すべき情報、情報処理の仕方を考えてとりかかると成果が改善する。そして情報収集とアウトプットを 9:1 とかでやりがちだけど 5:5 が理想。情報収集しすぎても分析のコストが膨らんで、効率が悪い。そして集める情報も目的とする答えに寄与する度合いが高い情報を集めることで効率的な収集ができる。逆に寄与度合いの低い情報はいわいるノイズ。理想はノイズを排除して寄与度合いの高い情報を最小限に集める。
これ自分全くできてなくて、基本情報いっぱいあつめて、結局どんな答えが欲しいんだっけって立ち戻ること多い。求める答えに合ってるか、ノイズかどうかを意識するだけで目的の回答を得るための道筋はスッキリしそう。効率性への意識が希薄。プログラマーの3大美徳である、怠惰、短気、傲慢のために頑張るって意識が低い。実際会社の同僚の仕事ぶりに思いを馳せながら読んで数日経ったが、この辺の意識改革がちょっとずつ始まってきている気がする。
やってみたいこと
- 効率性を意識する(いかに、少ない時間で目的の回答を得るか)
- タイムアタック
- 取り掛かる前にプロセスを考える