ひろゆきが警鐘を鳴らす「今後、コードが書けるだけのプログラマーは大量失業」…令和のプログラミング教育とは

子どもたちがタブレットやPCを使いこなす姿が珍しくなくなってきた現代、義務教育の現場では2020年度から小学校でプログラミング教育が必修化されました。

そんな中、

「プログラミングができるようになるには、自分の手でプログラミングを打つしかない」と断言するひろゆき(西村博之)さんが、子どもたちにプログラミングの基礎を教える『ひろゆき式 10歳からのプログラミング入門』(講談社)を上梓。

プログラミングスクール出身の優秀な人には会ったことがない, コードが書けることより「何を作るか」のほうが大切, 長時間集中できる人は将来的に成果を上げやすい, プログラミング学習で養うのは現実でも使える「思考力」, AIの進歩は日進月歩。使わない選択肢はない

『ひろゆき式 10歳からのプログラミング入門』

しかし同時に、「今後、コードを書けるだけのプログラマーは大量失業していくはず」と警告も。令和のプログラミング教育に必要なことを聞きました。

プログラミングスクール出身の優秀な人には会ったことがない

「プログラミングスクール」というものができて10年ほどかと思いますが、僕自身はまだ、スクール出身の優秀なプログラマーというのには会ったことがないですね。

プログラミングスクール出身の優秀な人には会ったことがない, コードが書けることより「何を作るか」のほうが大切, 長時間集中できる人は将来的に成果を上げやすい, プログラミング学習で養うのは現実でも使える「思考力」, AIの進歩は日進月歩。使わない選択肢はない

ひろゆき氏

もちろん、スキルがあって、職業として活躍されている人はたくさんいますが、スクールで学んだプログラマーが10年後、20年後に革新的な仕事をしているかどうかは、正直ちょっとわからない。

これは僕の推測ですが、今のプログラミングスクールが教えていることと、本人が好きなこと、仕事として割り当てられることのバランスというのが、実はあまり良くないんじゃないかという気がしています。

少し専門的な話になってしまいますが、プログラマーとしてのスキルがそこまで高くなくても、「とりあえず人を集めよう」ということで雇われている人たち、決められたことをひたすら処理して、言われたコードを書いていくというプログラマーたちは、今後ものすごい勢いで失業していくと思います。

なぜなら、それらは今後すべてAIができてしまうから。ただ「プログラミングができます」「スキルがあります」と言われても、「別にそれ自体は、AIでできちゃうよ」というのがこれからなんですよね。

プログラミングスクール出身の優秀な人には会ったことがない, コードが書けることより「何を作るか」のほうが大切, 長時間集中できる人は将来的に成果を上げやすい, プログラミング学習で養うのは現実でも使える「思考力」, AIの進歩は日進月歩。使わない選択肢はない

photo by iStock

ただ、AIが台頭するからと言って、悲観することはありません。なぜなら、AIに書かせたコードをチェックするには、自分でコードが書けるプログラマーが必要だからです。

そもそもAIに適切な指示を出したり、エラーが起こったときにその原因を探ったりできるのは、自身もきちんとコードが書ける人間だけです。それができる優秀なプログラマー、エンジニアたちに仕事がなくなることはありません。むしろそういう人たちは、AIを使いこなすことでさらに生産性を上げ、今の何倍も稼げるようになっていくと思います。

コードが書けることより「何を作るか」のほうが大切

プログラミングは「コンピューターに何かをやらせる」という作業ですが、大切なのは「何を作りたいか」という視点や、最終的な目的です。プログラミングはやりたいことがある人のための「手段」にすぎません。

僕が知っている優秀なプログラマーは、だいたいゲーマーなんですよ。ゲームが好きで、自分でも作りたいというモチベーションからプログラミングをやるようになった人が多い。「マインクラフト」が好きで、「マインクラフト」のMOD(※)をいじるところから始めて、それを調べているうちに、気がついたら英語も読めるようになって、コードも書けるようになっていた、というケースは非常に多い。

だから、自分の子どもにプログラミングに興味を持たせたいと思うなら、まずはゲームをやらせればいいんじゃない? と思ってしまいます。

親がプログラミングを理解していないのに、子どもにプログラミングをやらせようとすると、幼児教育の英語と同じことが起こりますね(笑)。親は「自分ができないから学んでほしい、そうすれば何かすごいことができるはず!」と期待するけれど、結局あまり身につかない、活かせないというやつです。

プログラミングスクール出身の優秀な人には会ったことがない, コードが書けることより「何を作るか」のほうが大切, 長時間集中できる人は将来的に成果を上げやすい, プログラミング学習で養うのは現実でも使える「思考力」, AIの進歩は日進月歩。使わない選択肢はない

ひろゆき氏

僕が出会った英語が話せる人というのは結局、留学とか仕事とか、本当に必要にかられて学んできたという人ばかり。それに、仮に英語が話せたとしても、それだけで将来の安泰につながることはありません。

絵がとても上手い人と、面白い漫画を描く人は違うじゃないですか。絵が上手くても、全員が漫画家になれるわけではないですし、反対にそこまで絵が上手くなくても、描きたいことや伝えたいことがある人は、漫画家になれる。そういう人は、描いているうちにどんどん絵も上手くなっていくものです。やっぱり「技術」というより、「それで何をするか」のほうが強いんです。

※「modification」の略で、おもにゲームを改変するプログラムのこと

長時間集中できる人は将来的に成果を上げやすい

ゲームの話をしましたが、親の中には、「子どもが何かを長時間やっているのは良くない」と思い込む人がいます。でも、実は集中力が長時間維持できる子のほうが、長期的には成功する確率が高いのです。

テレビや動画を見続けるのはただ受動的なだけですが、パソコンで何かをしたり、ゲームをするというのは、ある程度自分が関与したり、働きかけなければならないこと。その状態で長い間、集中力を維持できるというのは、ものごとを深く考えたり、問題解決のために我慢強く頑張る力が養われているということでもあります。

それに、強要されたのではなく、好きなことに夢中になっている間は疲れを感じにくく、深い学びにつながるとも言われています。

集中力は一度身につけば他の分野にも応用できますので、本人が何かに集中できているなら、それがたとえゲームでも、僕は全然いいんじゃないかと思いますね。

プログラミングスクール出身の優秀な人には会ったことがない, コードが書けることより「何を作るか」のほうが大切, 長時間集中できる人は将来的に成果を上げやすい, プログラミング学習で養うのは現実でも使える「思考力」, AIの進歩は日進月歩。使わない選択肢はない

ひろゆき氏

それにゲームというのは、「試行錯誤して何かを実現する」という仕組みになっているんですよ。アドベンチャーゲームもシミュレーションゲームも、時間をかけて正しい道筋を探し出せば、必ずゴールに到達できる。RPG(ロールプレイングゲーム)も、時間をかければ強くなれるので、いつかはボスが倒せるんです。ゲームは時間をかければちゃんとゴールできるので、達成感も得られやすいのです。

プログラミング学習で養うのは現実でも使える「思考力」

コンピューターを動かすプログラミング言語は、あいまいな表現や間違った指示を許しません。「泣きわめけば大人がなんとかしてくれる」と思っていた子どもたちも、コンピューター相手にはそうはいきません。

「コンピューターを動かすには、自分が変わる(プログラムを打ち直す)しかない」ということに早めに気がつけるのは、子どものころからプログラミングを学ぶメリットのひとつだと思います。

プログラミングができると、現実のコミュニケーションや議論においても役立つことがたくさんあります。「ツリー構造」を知れば情報を整理するのが楽になりますし、「ループ処理」を覚えれば作業の効率化を図ることができます。プログラミング的な思考は、現実に応用できるシーンがたくさんあるのです。

この辺りのことは、僕が過去に出した『プログラマーは世界をどう見ているのか』(SB新書)という本でも詳述していますが、コンピューターの世界はとてもロジカルで、そこに感情はありません。

僕は、法学部を選ぶ人とプログラミングの相性はかなり良いのではないかと思っています。法律は、何が正しく、何が間違っているかがはっきりしています。お金持ちだからとか、偉いからとか、そういうことは関係なく判断が下せるもの。だから、物事をはっきり分けたいとか、整理整頓が好きだという子に、プログラミングは向いているのではないでしょうか。

プログラミングスクール出身の優秀な人には会ったことがない, コードが書けることより「何を作るか」のほうが大切, 長時間集中できる人は将来的に成果を上げやすい, プログラミング学習で養うのは現実でも使える「思考力」, AIの進歩は日進月歩。使わない選択肢はない

ひろゆき氏

とはいえ、じつは今回僕が書いた本は、プログラミングスキルの習得自体にはそこまで重きを置いていません。

ただ、実際にパソコンに触って、「HTML(エイチティーエムエル)」や「JavaScript(ジャバスクリプト)」といった実際のプログラミング言語を扱うことで、「プログラミングって、思ったより簡単!」と子どもたちが感じてくれれば、それでいいと思っています。

簡単だ、得意だと思うことは、そのジャンルでの能力を大きく伸ばすことにつながります。なので、まずはそれを第一目標にしたいと思っています。

AIの進歩は日進月歩。使わない選択肢はない

AIの進化はすさまじく、1年単位で状況がどんどん変化しています。使わないという選択肢はなく、「いかに賢く使うか」が大切です。

AIに関する実験には面白いものがあります。哲学者のジョン・サールという人による「中国語の部屋」という思考実験では、中国語を全く理解していない人が小さな部屋に入れられ、外部からくる中国語のメッセージに、ひたすら応答マニュアルに従って対応します。

答えている人は「こう聞かれたらこう返す」というルールに従って返答しているだけなのですが、相手はそれで「中の人は中国語を完全に理解している」と考える、というものです。

この実験は、「AIはプログラムどおりに動いているだけで、感情はなく、因果関係も理解していない」という主張に使われることが多いのですが、感情を持つ人間である私たちも、実はこれに近い状態になっていることはままあるのではないでしょうか。

私たちは「おはよう」と言われれば「おはよう」と返しますが、実は深く考えてしゃべっていない。何かを食べたとき、「自分はお腹が空いたから食べた」と感じる人は多いですが、実は先に体が動いた後で、「なぜそうしたのか」を後付けで納得していることも多いのです。

プログラミングでいう「if構文」のように、「こういう場合はこうする」と反射的に動いているだけ、考えているつもりで実は考えていない……ということは大人でもよくあるんですね。

プログラミングスクール出身の優秀な人には会ったことがない, コードが書けることより「何を作るか」のほうが大切, 長時間集中できる人は将来的に成果を上げやすい, プログラミング学習で養うのは現実でも使える「思考力」, AIの進歩は日進月歩。使わない選択肢はない

ひろゆき氏

プログラミング思考を身につけていると、このようなAIの特性や人間の特性を理解し、新しいサービスやビジネスに活かすことができます。AIによってなくなる仕事はたしかにありますが、AIを理解し、使いこなすことで新しい価値を生み、市場価値を上げていけるプログラマーもたくさんいます。

コンピューターに使われるのではなく、使いこなせるプログラミング思考を身につけることが大切だと思います。

(取材・文/小川聖子、撮影/日下部真紀)