プログラミング教育はいらない!と言われる3つの理由と反論

プログラミング教育なんていらない!?

 

  • プログラミング教育が必修になるけど…本当に必要なの?
  • 実はプログラミング教育なんていらないのでは?
プログラミング教育なんて本当はいらないのではないか?

そのように考えたことはないでしょうか。

現時点では何をやるのかよくわからないし、プログラミング的思考とか論理思考とか言われても具体的にどういうことができるようになるのか、その効果もわかりません。

教える教師側も教え方がわからない…そんな状況ゆえに、プログラミング教育なんていらないと考えてしまうこともあります。

ですが、現役のエンジニアである私としましては、小さいうちからコンピュータに近いものに触れておくと、将来パソコンを使う時にスムーズに入れるようになれるのではないかと期待しています。

ここでは、プログラミング教育がなぜいらないと言われているのか、しらべてまとめてみました。

プログラミング教育がいらないと言われる3つの理由

調べてみた結果、プログラミング教育がいらないと言われる理由には大きく分けて3つあることがわかりました。

ITの成功者は別にプログラミングしているわけではない

たとえばiPhoneで有名なApple、CEOは『スティーブ・ジョブズ』です。

iPhoneはきれいな画面で操作もしやすく、動作も軽快でストレスを感じさせません。こんなものが作った人は非常に優秀なエンジニアなのでしょう。

ですが、スティーブ・ジョブズがエンジニアなのかというとそうではないんですよね。スティーブ・ジョブズの伝記などを読むと、若い頃はATARIという会社で少しプログラミングなどをしていたようですが、それ以降は直接開発(プログラミング)をした話はありませんでした。

他には『Windows』を作った『ビル・ゲイツ』、『Facebook』を作った『マーク・ザッカーバーグ』…。どちらも最初は自ら開発者として携わっていたのですが、最終的には作り込みはせずに経営者側に回っています。

つまり、プログラミングができる = 新しいものが作れる、というわけではないということ。ゆえにプログラミング教育はいらないという考えです。

プログラミングはソフトウェア開発においてほんの一部でしかない

プログラミングとはなにか?現役のエンジニアから言わせてもらうと、プログラミングは『手段』であり『道具・ツール』です。

道具について知識を深めたところでなにか新しい製品が作れるようになるかといえばNoです。

たとえば、私達はカナヅチやノコギリの使い方は知っていますよね?でもそれらを使って家を建てることはできません。

つまり、プログラミングとはツールであって、実際に新しい物を作るためにはコンピュータの知識や対象の業務に関する知識が必要になるのです。

ソフトウェアの開発モデルは下記である、と言われています。

ソフトウェア開発におけるウォータフォールモデル

ソフトウェア開発におけるウォータフォールモデル

プログラミングはソフトウェア開発においてほんの一部しかありません。お客さんからの要求をまとめたり、どんなソフトウェアにすれば良いのか、仕様を決めるために時間を使います。

なので、プログラミングだけできたって意味がないのでいらない、という意見がありました。

プログラミング的思考、論理思考を養うのが目的ならプログラミングは不要

プログラミング教育の目的はプログラミングそのものを習得させるものではなく、

  • プログラミング的思考
  • 論理思考

これらを養うための教育であるというのが文科省の小学校プログラミング教育に書かれています。

実技よりも学文、知識としてプログラミング的思考や論理思考を学ぶのであれば、わざわざプログラミングを学ぶ必要はないのでは?

と疑問に思っている人が多いようです。

プログラミング教育は本当にいらないの?

プログラミング教育はいらないと考える人もいるようですが、本当にいらないのでしょうか?

はるき

いいえ、そんなことはありません!プログラミング教育がいらないと思っている方はぜひ、以下の現役エンジニアの意見を参考にしてみてください。

ジョブズやゲイツはプログラミングを知っていたからこそ成功できた

スティーブ・ジョブズやビル・ゲイツは本人がプログラミングをしてMacやWindowsを作ったわけではありません。

プログラミングよりも経営の知識のほうが必要だと考えるかもしれませんが、

  • プログラミングとはなにか?
  • プログラミングで出来ることはなにか?

これを知っていたからこそ、MacやWindowsが出来上がったと言っても過言ではありません。

プログラミングでできることがわからなければ、プログラミングを使って何かを作ることなんてできないのです。

プログラミングはソフトウェア開発の一部と言うが、最新の開発手法はプログラミングが主体

プログラミングなんてソフトウェア開発においてほんの一部だけ…という意見があるのですが、実はこれは少し古い情報です。完全に現場にいない人の意見ですね。

最近ではプログラミング主体の開発方法(アジャイル開発・スクラム)が注目されています。

アジャイル開発スクラム概要

アジャイル開発スクラム概要

引用:反復型開発 | wikipedia

従来は入念にお客さんの声を聞いて慎重に設計して資料にまとめて、ようやくプログラミングを始める…というスタイルでした。

ですが、これでは時間がかかりすぎますしお客さんが『やっぱりこういうふうにしてほしい』と気持ちが変わってしまうとやり直しになってしまいます。

こういった問題を背景に、資料の作成などは後回しにしてとにかくプログラミングを先行する、というスタイルが増えています。プログラミングをしてトライ&エラーを繰り返して製品を完成させていきます。

はるき

実際に私が勤めている会社でもプログラミング主体で作業してます。『机の上』ではプログラミングは一部ですが、『現実』はプログラミング5割です。

プログラミングが全体の5割になる理由は、

  • 仕事がほぼ確実に想定したとおりに進まないから
  • お客さんが開発の途中でコロコロ変更を希望するから
  • 正しいと思って設計していたのに実際にプログラミングしてみると間違いに気づいたり
  • 出来上がったあとにボロボロとバグが出てきたり…。

家を建てる時にも似たようなことが起こります。最初に設計して図面ができあがったのに、

やっぱりここにもコンセントの差し口追加してください!

表面上はちょっとした追加でも内部的には大事でいろいろやり直しになってしまいます。

そういった理由により、プログラミングは全体の5割近く、プログラミングなんてほんの一部だからいらない、とはならないのです。

まとめ

以上のことをまとめると下記の通りです。

  • ジョブズやゲイツはプログラミングしてたから成功したわけじゃないのでいらない
  • プログラミングはソフトウェア開発においてほんの一部しかないのでいらない
  • プログラミング的思考や論理思考を身につけることが目的なのでいらない
  • しかし、プログラミングとは何が出来るのかを知らないと、プログラミングを使って新しいものは生み出せない。
  • プログラミングは作業の一部と言われるが、実際の現場では5割近くはプログラミングしている。

プログラミング教育はいらないと言われる人もいるようですが、なにか新しい製品を作るという上ではプログラミングについて知っておいて損はないはずです。

パソコンやスマホで動くアプリ、車や家電、すべてプログラミング、ソフトウェアで動いています。

プログラミングの知識が不要な仕事、たとえば肉体労働やサービス業であればプログラミング教育は不要です。

ですが、自分の子供をホワイトカラーとして就職させたいのであれば、プログラミングに関する知識はあったほうが良いです。エクセルのマクロなど、自分の仕事を自動化させることができるので活躍が期待できます。