記事を読むメリット
- プログラミングに必要な論理的思考力の鍛え方が分かる
- 論理的思考を身につけたときのメリットが分かる
- 「プログラミングは頭が良い人にしかできない」という誤解が解ける
プログラミングに必要な「論理的思考」ってなに?身につけたらなにかメリットある?
論理的思考力を身につけたい!どうやったら身につくの?
頭が良い人じゃないとできないんじゃないの?
このような方に向けて今回は、プログラミングに必要な「論理的思考」を解説していきます。
この記事を書いている僕は、プログラミングを1年独学してエンジニアになりました。
- プログラミングに必要な論理的思考とは「筋道を立てて考えること」
- 論理的思考力の鍛え方は「言語化すること」
- 論理的思考力が低い人の共通点は「察してもらえる」と思っている人
偏差値40ぐらいの高卒ですが、プログラミングで論理的思考力を磨いた結果、話していると「説明が分かりやすい」とよく言われます。
論理的思考力は日常生活にも役立っています。
- プログラミングに必要な論理的思考とは【筋道を立てて考えること】
- 論理的思考力が低い人は「察してもらえる」と思っている
- 論理的思考力の鍛え方3つ【言語化する】
- オバマ元大統領とスティーブジョブズも「プログラミングを学ぶべき」と言及
- 論理的思考力を身につけるメリット3つ【プログラミング以外でも役立つ】
- 論理的思考力を身につけた後の注意点【正論を押しつけないように注意】
- まとめ:論理的思考力を身につけると人生がイージーモードになる
プログラミングに必要な論理的思考とは【筋道を立てて考えること】
ビルゲイツも類稀な論理的思考力を持っていると言われますが、
論理的思考とは「筋道を立てて考えること」です。
課題や問題点に対して
「何が問題なのか?」
「その問題が起きた要因は何なのか?」
「その問題を解決するためにどうすればいいのか?」
と根拠を立てて物事を考えることを論理的思考といいます。
論理的思考の対義語として挙がるのは
「思い込み」「なんとなく」「直感で」「感覚で」
といったあたりの言葉です。
これらは全て根拠がなく、論理的ではない思考です。
論理的思考ができていないと
「話がまとまってなくて分かりづらい」
「何を言いたいのか分からない」
「根拠がなくて説得力がない」
と言われがちです。
- 「空が曇ってるし、天気予報も雨の予報だったし、傘を持って出かけよう!」
- 「〇月〇日の〇時に、血のついた包丁を持って走り去るあなたが目撃されている。だからあなたが犯人だ!」
- 「天気予報とか見てないけど、3日連続で晴れだったらからそろそろ雨降りそう!」
- 「証拠とかちょっとよく分かんないけど、なんとなくお前が犯人!」
また、プログラミングには論理的思考力が必要です。
- コンピューターは曖昧な指示を受けつけてくれないから
- 筋道を立てて1つ1つ原因を考えないとバグを解決できないから
論理的思考力が低い人は「察してもらえる」と思っている
論理的思考力が低い人の特徴としては「察してもらえる」と思っていることです。
後述する論理的思考の鍛え方として、「言語化する」という方法がありますが、
言語化は正直めんどくさいです。
論理的思考力が低い人は、例えば何か不満に思った時、「自分が何に不満を思ったのか」「どうして欲しいのか」と言語化するのがめんどくさいので、「察してよ」という表現に逃げます。
そして「察してよ」と思うだけで自分の考えを言語化していないので「どう察して欲しいのか」も自分自身であまり分かってないため、コミュニケーションエラーが起こります。
カップルや夫婦の喧嘩の原因は「言語化が足りていない」「言葉にして伝えてない」「話し合いが足りていない」というのがほとんどです。
また、察してもらえると思っている人は、説明も下手です。
言語化がめんどくさくて、「察してもらえる」と相手に依存しているので、重要な部分の説明を相手の想像力に丸投げして、要点を得ていない伝わりづらい説明になります。
論理的思考力の鍛え方3つ【言語化する】
論理的思考力の鍛え方は以下の3つです。
誰でもできます。
言語化する
言語化とは「直感や感情など、自分の思っていることや考えていることを具体的に言葉にすること」です。
言語化することで考えが整理され、自分の考えの矛盾点や足りないものに気づくことができます。
慣れていないと最初はなかなか上手く言語化できないかもしれませんが、練習すれば上達します。
また、言語化が苦手な人は「まず結論から話してみる」のがオススメです。
最初に結論を話すことで伝えたいことのゴールが決まります。
ゴールが決まるので、少なくとも「何が言いたいか分からない」と思われることはありません。
最初に結論を話してゴールを明確にすれば、あとはそのゴールに向かって話を展開すればいいので、論理も組み立てやすいです。
ロジックツリーで整理する
↑ロジックツリーとはこんな感じのやつです。
課題や問題点、解決方法などをツリー状に書き出して整理する方法です。
1つ1つ分解して書き出すことで全体像を理解できるようになり、筋道の通ったまとまりのある思考ができます。
上の図はダイエットを例にしていますが、ダイエットを成功させるためには一番右側の「解決策・行動」を毎日やれば痩せます。
ロジックツリーを書くことで、「何をすれば達成できるのか」というのが明確になります。
物事の全体像を可視化することができるので、会議の議事録をロジックツリーでまとめたりすると、有能な人材だと思われます。
プログラミングを学ぶ
プログラミングを学ぶと、論理的思考力が鍛えられます。
理由としては、コンピューターは曖昧な指示を受けつけてくれず、明確な指示をしないと動いてくれないからです。
例えばキャラクターをジャンプさせたい場合、
「Aボタンを押したらジャンプして」という命令ではコンピューターは動きません。
↓こんな感じでコンピューターから返事が来ます。(※イメージです)
- 「ジャンプってなに?どの方向に?上?横?斜め?」
- 「Aボタンを押してから何秒後にジャンプさせればいいの?」
- 「どれぐらいの速さで飛び上がればいいの?」
- 「何秒ぐらい空中に浮き上がっていればいいの?」
- 「え?右ボタンを押して歩いてる最中でもジャンプさせたいの?だったら”Aボタン=ジャンプ”じゃなくて、”右ボタン+Aボタンでもジャンプする”って命令してくれないと動かないよ」
人間だったらマジで鬼めんどくさいヤツですが、コンピューターは命令したことしかできないので、当然のことです。
人間には通じる「曖昧さ」がコンピューターには通用しないので、プログラミングを学ぶとロジカルに基づいた論理的思考力が鍛えられます。
論理的思考力はプログミングを学べば自然と鍛えられていきます。
プログラミングを学ぶ前から論理的思考力を磨こうとしなくて大丈夫です。
- 誤)論理的思考力が無いとプログラミングは出来ない
- 正)プログラミングをやれば論理的思考力が自然と鍛えられていく
オバマ元大統領とスティーブジョブズも「プログラミングを学ぶべき」と言及
オバマ元大統領とスティーブジョブズも「プログラミングを学ぶべき」と言及しています。
プログラミングを学ぶことは、みなさんの将来にとって重要なだけでなく、アメリカにとっても重要です。 アメリカが最先端であるためには、プログラミングや技術をマスターする若手が必要不可欠です。新しいビデオゲームを買うのではなく、作ってください。
引用元 - President Obama asks America to learn computer science
アメリカ人は全員コンピュータのプログラミングを学ぶべきだと思う。なぜなら、コンピュータ言語を学ぶことで、考え方を学ぶことが出来るからだ。ロースクールに行くようなものだよ。全員が弁護士になるべきだとは思わないけれど、ロースクールに通うことは実際に人生に役立つはずだ。一定の方法で物事を捉える考え方を学べるのだから。
引用元 - スティーブ・ジョブズ1995 ~失われたインタビュー~
プログラミングを学ぶと論理的思考力が身につきます。
論理的思考力を身につけると「物事の考え方」が鍛えられます。
全ての基礎となる「考え方」が鍛えられるので仕事だけでなく、人間関係・恋愛・趣味など、様々なものに役立ちます。
ビルゲイツ・イーロンマスク・ジェフベゾスといった名だたる成功者もプログラマー出身です。
僕もプログラミングを身につけて「考え方」を鍛えた結果、人とのコミュニケーションが円滑に行えるようになり、日常で感じるストレスも減りました。
論理的思考力を身につけるメリット3つ【プログラミング以外でも役立つ】
論理的思考力を身につけるメリットは以下の3つです。
プログラミング以外の日常生活でも役立ちます。
いずれも僕がリアルに実感していることです。
コミュニケーション能力が上がる
論理的思考ができるようになるとコミュニケーション能力が上がります。
「何を伝えるべきなのか」「どう伝えれば誤解がないのか」ということが考えられるようになり、自分の考えを客観視できるからです。
筋道を立てて事実や理由を論理的に説明できるようになるので、説得力が上がります。
また、自分の話す力が向上するだけでなく、相手の話も筋道を立てて理解できるようになるので、傾聴力が上がります。
論理的思考を身につけると「自分が話す力」と「相手の話を聞く力」の両方が向上します。
相手を気遣えるようになる
論理的思考が身につくと筋道を立てて相手の話を聞けるようになるので、
相手の話がわかりづらくても、言いたいことや考えてることを理解してあげることができます。
「言ってることはよく分からないけど、たぶんこういうことが言いたいんだよね」
「たぶんこういうことを考えてるんだよね」
という風に、相手を気遣ってあげることができます。
「相手がなぜ不機嫌なのか?」ということも論理的に考えることができるので、
論理的思考力を身につけると「察する力」が上がります。
察する力を身につけたい人は、直感とか感覚とかを磨くよりも論理的思考力を磨いた方が身につきます。
ストレスが減る
自分の考えや主張をスムーズに伝えられるようになり、
相手の話が分かりづらくても理解してあげることができるので、ストレスが減ります。
人とのコミュニケーションだけでなく、仕事や日常生活で様々な問題に直面しても、
それを解決するために何をするべきなのかを筋道を立てて冷静に考えられるので、問題解決能力も上がります。
トラブルの解決力が上がるので、ストレスが減ります。
冷静に物事を分析できるようになるので、物事を誤解することが減り、イライラすることも減ります。
論理的思考力を身につけた後の注意点【正論を押しつけないように注意】
論理的思考をするときの注意点としては「正論を押しつけてはいけない」ということです。
論理的思考で導き出された答えは、正しいです。
ですが、正論を言うことが人として正しいとは限りません。
正論は正しいですが、正論で人を傷つけるのは間違っています。
様々な感情や相手の事情をちゃんと考慮し、自分の意見を押しつけないように注意しましょう。
あと、筋道を立てて考えることは良いのですが、それをそのまま言葉にして伝えると、
相手からすると「めちゃくちゃガン詰めされてる」と感じさせてしまう場合もあります。
「〇〇だから、〜〜で、△△ってことでしょ?」
「〇〇が原因じゃん、ってことは〜〜やれば解決するじゃん」
みたいに一方的にロジカルでまくし立てると、相手は引きます。
論理的思考で導き出された答えは、簡潔に結論が出された正しくて鋭い意見なので、相手に伝える時の声のトーン・表情も意識しましょう。
まとめ:論理的思考力を身につけると人生がイージーモードになる
記事のまとめ- 論理的思考とは「筋道を立てて考えること」
- 論理的思考力が低い人は「察してもらえる」と思っている
- 論理的思考力の鍛え方は「言語化する」「ロジックツリーで整理する」「プログラミングを学ぶ」の3つ
- オバマ元大統領とスティーブジョブズも「プログラミングを学ぶべき」と言及
- 論理的思考力を身につけるメリットは「コミュニケーション能力が上がる」「相手を気遣えるようになる」「ストレスが減る」の3つ
- 論理的思考をするときの注意点は「正論を押しつけてはいけない」
論理的思考力を身につけると人生がイージーモードになります。
少なくとも僕は人生が楽になりました。
正論を押しつけないように注意する力も身についたので、相手を気遣う力も高まりました。
また、プログラミングは平均年収の高い職種です。
僕はプログラミングを身につけた結果
「論理的思考が身について人生が生きやすくなった」
「時間と場所を選ばずに仕事ができるようになった」
「平均より高い収入を得られるようになった」
という変化がありました。
こう言うと大げさですが、僕はプログラミングで割と人生が変わりました。
プログラミングを身につける前は、週6のウーバーイーツで生活していたので結構消耗していました。
何か手に職つけたいなら、プログラミングという仕事はオススメです。
今回は以上です。
関連記事