「プログラミング」を勉強しようとするとき、まずは言語のルールを覚えようとしてしまいますよね。
もちろん、プログラミングを習得する上ではそういった勉強もすごく大切なのですが、プログラミングをする上では、プログラミングの言語知識に加え、「ロジカルシンキング」というスキルもとても重要になります。
今回は、プログラミングをする上で必要になる「ロジカルシンキング」の説明と、「なぜロジカルシンキングが必要なのか」という必要性についてご紹介させていただきたいと思います。
「ロジカルシンキング」とはどんなスキル?
ロジカルシンキングとは、「与えられた情報や前提から矛盾のない結論を導き出すことのできるスキル」です。
たとえば、「2x + 3 = 7」という情報が与えられたとき、
「x = 2」という答えを導き出すことができるのもロジカルシンキングができるからですし、
「荒らされた部屋・近くに落ちている短い毛・犬の足跡」という情報から、
「部屋を荒らしたのはうちのわんちゃんだ」という結論を導き出すことができるのもロジカルシンキングによるものです。
つまり、与えられた情報をもとに、そこからいかに矛盾のない結論を導き出すことができるか、というのが「ロジカルシンキング」になります。
プログラミングをする上でなぜロジカルシンキングが必要なのか
プログラミングを学習するとき、おそらくみなさんはまず学びたい言語の書籍やWebサイトから文法などのルールを勉強するかと思います。
しかし、そのルールを勉強したあとに「よし、なにかをつくってみよう!」となっても、手が止まってしまうことはありませんか?
それはなぜかというと、まず「作るものを決める」ということと、「作るものの機能」や「機能の組み立て方」考えるをというプロセスが抜けているからです。
そしてこれらのプロセスをつくるためには、「ロジカルシンキング」というスキルが必要になってくるのです。
「つくるもの」をロジカルシンキングを使って決める
「つくるもの」を決めるには、まずそれがなぜ必要なのかという理由が必要になりますよね。
そして「つくる理由」というのは、日常生活で直面する以下のような課題や願望などから見つけることができます。これらの情報をもとに、この課題を解決することができる方法をロジカルシンキングを使って考えることで、「つくりたいもの」を導き出すことができるのです。
- 買い物にでかけたときに買い忘れが生じてしまう
- 毎日の献立を考えるのに苦労する
- 一日のうちにどれだけの時間をスマホにかけたかを知りたい、など
「つくるものの機能」をロジカルシンキングを使って決める
つくるものを決めたら、次にそれに必要な機能を決めていきます。
たとえば、上の例であげた「買い物にでかけたときに買い忘れが生じてしまう」という課題を解決するためには、「お買い物リスト」アプリが必要だという結論を見つけたとしましょう。
そうすると次に、「お買い物リスト」アプリに必要な機能がなにかを考えていく必要があります。そしてこの機能を考えるにあたっても、「買い忘れが生じてしまう課題を解決するために必要な機能はなにか」ということをロジカルシンキングを使って考え、矛盾が生じない機能 (結論) を導き出す必要があります。
「機能の組み立て方」をロジカルシンキングを使って考える
機能の洗い出しまでできたら、最後に「それらの機能の組み立て方」を考える必要があります。
洗い出した機能をどのような画面にどのような配置でのせるのかというデザインや、なにから作成していく必要があるか、という開発プロセスなどをロジカルシンキングを使って考えていきます。
ここでも、当初の課題である「買い物にでかけたときに買い忘れが生じてしまう」に矛盾がないデザインを意識することが大切になります。また開発プロセスを考えるにあたっては、全体の構造を意識し、使いまわせる機能は使いまわせるようファイル分けしたりと、なるべく無駄のない開発プロセスとはどのようなプロセスなのか、ということを考えることも大切になります。
まとめ : プログラミングをするよりも前に必要なプロセスがあることを知ろう
以上のように、実はプログラミングそのものを始める前に必要なステップがたくさんあります。
そしてそれらのステップを進めていくにあたっては、「ロジカルシンキング」は必須のスキルになるのです。
これはプログラミングができるようになるにあたって必須のスキルになるのですが、意外と書籍やWebサイトなどでこのプロセスのことを説明したものは少ないように感じます。
ですので、もし「プログラミングを勉強してもできるようにならない、、」という風に感じている方々は、今回紹介させていただいたステップを知ることや、まずはロジカルシンキングを身に着けるというところに焦点をあててみてはいかがでしょうか。
さいごに
今回は、プログラミングにおける「ロジカルシンキング」の重要性についてを紹介させていただきました。
実は、プログラミング言語のルールそのものというのはわからなければ検索してしまえばいいので、暗記はそこまで重要ではありません。
それよりも、そもそもつくりたいものを導き出すことや、必要な機能、作り方を導き出すことが大前提で必要になり、それに必要な「ロジカルシンキング」というのはとても大切なスキルなのですよね。
ぜひ今回紹介させていただいた内容をもとに、「ロジカルシンキング」に興味を持っていただけたら幸いです。