プログラミングって今後は出来るのが当たり前になりそうで不安…。
僕も出来るようになるかな…。
こんな不安を少しでも解消します。
2020年度には小学校で、2021年度には中学校で教育カリキュラムに取り入られました。今後もこの流れは続いていくでしょう。
しかし教育課程でプログラミングを習っていない世代が大半を占めるため、将来に不安を覚える人も少なくないと思います。
そんな人むけに、プログラミングをまずは”ざっくり”理解するために、現役エンジニアの視点から解説します。
プログラミングについてざっくり理解する【まずは理解から】
プログラミングをやるにあたって、まずは考え方を理解することが重要です。プログラムを書けることは二の次で大丈夫です。
実際に、小学校のプログラミング教育ではPCを全く使わずに授業を進めるなど、論理的思考を鍛えることを重視しているようです。
プログラミングとは
そもそも「プログラミング」とは、「プログラムを書くこと」を指します。
プログラムは「コード」とも呼ばれ、プログラミングは「コーディング」とも呼ばれることがあります。(まあ呼び名はどっちでもいいです)
そして、プログラムとはざっくり言えば「機械に命令するための言葉」です。
所詮は言葉なので、読める人や書ける人がいるということです。
英語やフランス語などと同じで、それを読み書き出来る人もいるし、読み書き出来ない人もいる、そんな世界です。
つまり、プログラミングとは「機械語を読み書きすること」に過ぎないので、覚えれば誰でもできます。
今後のプログラミングの立ち位置
義務教育にプログラミングが取り入られたことで、数年〜数十年後にはある程度プログラミングできることが当たり前になっているでしょう。
日本の英語教育は話せるようにならない、という批判はよく聞きますが、義務教育にあることで、ある一定水準の英語力は持っていて当たり前の世界になっていますよね。
例えば、「ハロー」と言われば「ハロー」と返すぐらい出来ると思います。
こういったレベルの当たり前がプログラミングの世界でもやってくる可能性があるということです。
いろんなものがプログラムで動いている
既に世の中の多くの物やサービスがプログラムで動いている、もしくは間接的にプログラムの恩恵を受けている、という状態にあります。
要するに、プログラム無しではもう世界が成り立たなくなっているということです。
例えば、スマホのアプリ、Webサイト、お掃除ロボットなど、生活のあらゆる所でプログラムが使われています。
車でさえもオートマ車はギアチェンジをプログラムで制御しています。
このように、生活のあらゆる物にプログラムが利用される動きは今後も活発化していき、アナログからデジタルにどんどん取って代わるでしょう。
そんな中、プログラミングの考え方を理解していればデジタルの世界にも付いていけるので、恩恵を受けることができると思います。
プログラミングの考え方
さて、少し脱線してしまいましたが、プログラミングの考え方について解説していきます。
論理的思考力
プログラミングで一番大事なのは論理的思考力です。
といっても、みなさんが想像するようなハイレベルの論理的思考力は必要ありません。
スマホの電源ってどうやってつけますか?
電源ボタン押せばつきますよね。
「電源ボタンを押す → スマホの電源がつく」これぐらいのことが分かれば大丈夫です。
フローチャート
ここで聞き慣れないかもですが、「フローチャート」というものを紹介します。
フローチャートとは、ざっくり言うと「行動パターンを図解したもの」です。
先ほどのスマホの電源をつけることを例にフローチャートを見てみましょう。
非常にシンプルで、電源ボタンを押せば電源がつく、これだけの行動を論理的に表しました。
これが何の意味があるの?って思いますよね。
では、スマホの電池が切れていた場合はどうでしょう?
もちろん充電しますよね。これを先ほどのフローチャートに追加します。
電池の残量によって「条件分岐」が追加されました。
簡単な例だったので当たり前と思うかもしれませんが、このような考え方がプログラミングには重要になってきます。
人間と機械の大きな違い
プログラミングやAIが流行ると必ず、「機械が人間を支配するような世界がやってくる」みたいなことを言う人が出てくるのですが、プログラミングを理解すればこんな不安もなくなると思います。
もしスマホ中毒の人が既に機械に支配されていると言うのであれば、それはもう支配されているかもしれませんね(笑)。
しかし、いわゆるターミネーターのような世界がやってくるのは、今の延長ではとてつもなく難しい(ほぼ不可能)だと思います。
機械は良い感じにやってくれない
プログラミングというのは機械に命令する言葉だと紹介しました。
みなさんご存知のように、機械には意思がないので、プログラムされた通りに動きます。
逆に言えば、命令してない内容は一切やってくれません。
例えば、冷蔵庫にあるお茶を機械に取ってもらうとしましょう。
人間に頼めば、「お茶とってきて」だけで済みますよね。
機械に命令する場合、「冷蔵庫の前まで進んで、立ち止まり、冷蔵庫の扉を何センチ開けて、ドアポケットに存在するお茶を秒速何メートルのアームの速度で掴み……….」と、何か1つやってもらうだけでもメチャクチャ大変です。
しかもお茶を切らしていて、冷蔵庫にお茶が無かった場合、取りに行った機械は冷蔵庫の扉を開けたままエラーで止まってしまいます。
人間と機械の共存
つまり何が言いたいかというと、人間の方が機械よりも優れている面が多いので、「支配される」というよりは「共存していく」社会になる動きが今後も続くでしょう。
ただし、機械の方が人間よりも優れている部分では、人間は淘汰されていきます。
これによって人間の仕事が無くなっていくことも事実です。
が、悲観する必要はありません。
機械が人間のツールとして働く分、人間にしかできない仕事がどんどん発展していくことでしょう。
そのために今、僕らが出来ることは機械を操る方法(プログラミングの考え方)を学ぶことです!
コメント