【本当に必要?】プログラミングでできること、学ぶ意義について考えてみよう。

【本当に必要?】プログラミングでできること、学ぶ意義について考えてみよう。
(最終更新:2019年10月25日)

 

学校教育でも必修化の動きが進んでいる「プログラミング」。

「子どもに学ばせたい」
「自分でもやってみたい」

と、興味をお持ちの方、多いのではないでしょうか。

 

一方で、

「プログラミングって何の役に立つの?」
「みんなが学ぶ必要ってあるの?」

という疑問をお持ちの方もいらっしゃいますよね。

 

今回は、「プログラミングでできること」という観点で、プログラミングを学ぶ意義を考えてみたいと思います。

 

こんにちは!

キッズプログラミング、エンジニア兼ライターのgmagmaです。

今回のテーマは、「プログラミングでできること」、「プログラミングを学ぶ意義」ということで、早速見ていきましょう!

本記事は、以下の内容でお送りいたします。

そもそもプログラミングとは

コンピュータのプログラミング(英: programming)とは、コンピュータプログラムを作成することにより、人間の意図した処理を行うようにコンピュータに指示を与える行為である。
出典: フリー百科事典『ウィキペディア(Wikipedia)』
コンピュータプログラム(英: computer program)とは、コンピュータに対する命令(処理)を記述したものである。
出典: フリー百科事典『ウィキペディア(Wikipedia)』

プログラミングとプログラムについて、Wikipedia先生のご宣託をお借りしました。

 

一般の人から見ると、コンピュータって勝手に色んな計算をやってくれているように思えるかもしれませんが、そうじゃないんですよね。

我々人間が、コンピュータに対して、「この計算をしなさい」と命令してあげないといけない。その「命令内容」が「プログラム」であり、「内容を考えて実際に命令する」行為が「プログラミング」、というわけですね。

何ができるの?

 

コンピュータに関することなら、プログラミングの出番です。色んなことができます。いくつか、見ていきましょう。

 

様々な処理を高速かつ正確に行える

コンピュータは、そもそも「計算機」。

特に理系の学生さんや研究職の方々は、実験などのシーンで、プログラミングを利用することが非常に多いです。
電卓や、表計算ソフトでは難しい、複雑な計算処理などが高速に行えるため、プログラミングができることは非常に重要です。

 

また、一般企業でよく用いられている、Excelなどの表計算ソフト、これにもプログラミングを取り入れることで、定型の処理の自動化などが実現できます。
「マクロ」という言葉が一般的かもしれませんね。
Excelのマクロは、「VBA」というプログラミング言語で書かれています。

ゲームが作れる

お子さまがいらっしゃる方にとっては、特に身近な存在かもしれませんね。

据え置きにせよ、携帯型にせよ、ブラウザ上のゲームにせよ、基本的にゲームは、何かしらのプログラミング言語を使って製作されています。
「Unity」などのツールを使えば、個人でも、様々なゲームを開発することができます!
その際に使用するのも、「C#」などのプログラミング言語になります。

(参考)https://unity.com/ja

また、ゲームに限りませんが、スマホアプリの作成も、もちろんプログラミングでできることの一つです。
iOSアプリでは「Swift」、Androidアプリでは「Java、Kotlin」といった言語が開発に利用されています。

Webアプリケーションが作れる

「Webアプリケーション」とは、インターネット上で提供されるサービスのこと。

かなり広い概念ですね。
今や生活に欠かせなくなってきている、「Facebook、Twitter」などのSNSや、「Gメール」などのメールサービス、またこのブログなんかも、Webアプリケーションと言えます。

Webアプリケーションの多くはブラウザを使って利用することになります。
ブラウザ上では「JavaScript」という言語が動いていますし、サービスを提供している側では、「Java」や「Python」、「Go」といった言語を使って、データのやり取りが行われています。

プログラミングができると、自分が考えたアイデアを、Webアプリケーションとして形にすることができるんですね。

機械・ロボットが作れる

「ロボットを作る!」

思わずワクワクしちゃいますね!
最近ではSoftbank社のpepperくんなど、日常的にロボットを目にする機械も増えてきたと感じます。

(参考)https://www.softbank.jp/robot/pepper/

プログラミングができるだけでは、機体などのハード部分は作成できませんが、中に組み込まれているソフトウェアの開発には、大きく関わることができます。

カメラやカーナビといった、日常的に使う機械にも、ソフトウェアが組み込まれています。

プログラミングを学ぶことで、こうした身の回りのものの見方も、大きく変わるかもしれませんね。

 

 

「プログラミングでできること」として、いくつか例を挙げさせていただきました。

プログラミングが様々な分野で利用されており、もはや私達の生活と切っては切れないものだということ、そしてプログラミングを学ぶことで、できることがグンと増えることを、おわかりいただけたのではないでしょうか。

全員が学ぶべきものなの?


「プログラミングで色んなことができる」といっても、

「必修化してまで全員が学ばないといけないの?」

という疑問は拭えないかもしれませんね。

続いては、以下の2つの理由から、「プログラミングを学ぶ意義」をお伝えしたいと思います。

プログラミングを学ぶ意義
  • 「プログラマー・エンジニア」でなくても、プログラミングはできたほうが良い
  • 「論理的に考える」「ものを作る」経験は必ず役に立つ

以下、ある程度主観的な意見になることをお許しください。

「プログラマー・エンジニア」でなくても、プログラミングはできたほうが良い

プログラミングを仕事にしている人はもちろんですが、そうでない人にとっても、プログラミングは、生活や仕事に大いに役立ちます。

 

筆者は現在エンジニアとして仕事をしていますが、以前は、一般企業に務めておりました。
当時はプログラミングのプの字も知らなかったのですが、今になって振り返ると、

「なんであの程度の資料作りに、毎回あんなに時間かけてたんだろう」
「毎日やってたあの作業、簡単に自動化できたなー」

と思ってしまうくらい、プログラミングができれば効率化できたであろう仕事が、たくさんありました。
上で取り上げたExcelのマクロなんかもその例です。

 

一般企業でこそ、プログラミングができると、活躍の幅がめちゃくちゃ広がります。

 

「働き方改革」が叫ばれる昨今ですが、「実態は制度だけが独り歩きしている…」という声も散見されます。
肝心の「業務を効率化する」という点において、プログラミングは非常に意味のあるスキルになります。

「論理的に考える」「ものを作る」経験は必ず役に立つ

プログラミング教育の必修化については、こちらの記事で解説しているとおり、「プログラミング自体をガッツリ学ぶ」といったものではなく、「プログラミング的思考を身につける」ことを目的としています。

「プログラミング的思考」についても、上の記事で解説していますが、大きな問題を適切に切り分け、一つ一つの策を適切に組み合わせて解決していく論理的思考」という理解で問題ないと思います。

筆者自身も、プログラミングやってるときって、この思考がすごく必要だと感じますし、この思考自体は、現実の様々な問題と向き合うときにも重要だなと感じます。
(だから政府は必修化するんだよって話ですが…。)

 

加えて、プログラミングって「ものづくり」なわけで「自らの手で何かを作り上げ、その完成物を実際に動かす」経験ができるんですよね。

これはすごいことだと思います。
成長するにつれ、「何かを作る」経験って(料理などを除けば)ドンドン少なくなりますし。

創造力を身につける、という意味でも、プログラミングを学ぶ意義は大きそうです。

まとめ

以上、「プログラミングでできること」、「プログラミングを学ぶ意義」について、まとめてみました。

プログラミングができると、身の回りのいろいろなものづくりに関わることができそうですね。

また、IT業界でない人でも、コンピュータが普及しまくっている昨今、プログラミングへの理解は、どんな場所でも役に立つと言えるでしょう。

そして、プログラミング学習には、論理的思考力・創造力が高まる可能性も詰まっています。

もともと興味があった方はもちろん、プログラミング学習の必要性に猜疑的だった方も、この機会に、プログラミングに触れてみてはいかがでしょうか。