ガジェット通信

見たことのないものを見に行こう

「プログラミングは、何歳から始めるべきか?」 ─遠藤侑介・まつもとゆきひろ・増井雄一郎・鼎談2

DATE:
  • ガジェット通信を≫
プログラミングをする学生が減っている?

──今日はせっかくこの御三方が集ってらっしゃるので、もうちょっとプログラミングの現在みたいな話も聞けたらと。

まつもと:私の友人で、母校の大学で情報科学を教えている人がいるんだけれど、プログラミング経験者の割合は、むしろ下がっているって言っていましたね。

コンピューターサイエンスの学科なはずなのに。その一方で、インターネットのおかげで、興味があるとどんどん進むので、できる子のレベルはどんどん上がっているという。

つまり、すそ野が広がって、でも、プログラミングしている子の割合は減って、できる子との格差はすごく広がっているという状況があるんじゃないか。

僕は若い子向けのプロコンとかの審査員もやっているんですけど、例えば、ちょっと前までU-20のプロコンとかだと、2、3年に1回ぐらい、言語を作ってくる高校生がいました。

遠藤:言語を(笑)?

まつもと:僕が審査員にいるからかどうかわかんないけど。「こんなプログラミング言語作りました」とか言われて、結構その出来がよかったりするんです。

遠藤:ヤバいじゃないですか。

まつもと:ちょっとヤバい感じ。

増井:それ、パラダイム的にはどの辺なんですか。

まつもと:そのときは、オブジェクト指向言語なんだけど、Pythonっぽい文法と、マジでガチのマクロがあるというのを持って来た子がいて。

増井:ええ?私はそんな言語作れないなぁ。

まつもと:で、ガチで作って、その子は後に筑波大行って、僕の後輩になりました。

──そういう、傑出した子もときどき現れるような時代にはなっている?

まつもと:私が高校生のときは、インターネットは当然なかったので、情報を手に入れる方法が、例えば、紙媒体、雑誌とか本しかなかったんですね。

で、私は高校生からプログラミング言語には興味があったんだけど、例えば、本屋さんに行って、プログラミング言語についての本とか見ると、大学の教科書ぐらいしかないわけですよ。

『やさしいコンパイラの作り方』(中西正和著)みたいな本があってですね。で、読んだら全然優しくなくて(笑)。優しいというのはコンパイラの文法が複雑じゃないっていう意味だけで、中身は全然優しくない。

増井:僕も高校のときは、まだインターネットがなかったので、それこそ雑誌を買って、たまに図書館行って、それこそコンパイラの本とか読んでいました。コンパイラ自体は高くてとても買えなかった。

まつもと:それが今だと、開発環境もインターネットでどんどんダウンロードしてこれるし、Windows使っていてもVMwareでLinuxをインストールしてもいいし。

世の中には、もう、6歳ぐらいからプログラム書いていますみたいな子もいる。

増井:あと、人が発見されるのも楽になったと思うんですね。かつては、できる人がいても発見されなかったし、その人が仮に高校生で言語作っても絶対発見されなかったのが、ネットのおかげで発見されるようになったというのが、結構大きいと思いますね。

まつもと:ただ、昔も中島聡(UIEvolution/Founder)さんみたいな、高校時代からアスキーでバイトしていて、「GAME」という名前のBASICの短縮版みたいなやつ作った人もいて、それを雑誌に投稿しているような人もいたけれど。

増井:すごい。

プログラミング言語を作りたいと思うきっかけ

まつもと:そうそう。高校生でも言語作れる。そういうの雑誌で見ているので、僕はだから、プログラミングをやっている人の中で、プログラミング言語を作ろうと思う人は、それなりにいると思っていた。

だけど、蓋開けたら全然いなくてさ。自分がマイノリティであることに気がつくのがだいぶ遅れてしまいました(笑)。

遠藤:言語を作ることにはそんなに前から関心があったんですね。

まつもと:作りたかったんですよ。ただ、作りたいという気持ちだけが先行していて、能力と知識が全く追いついていなかった。

増井:でも、後々追いついたのはすごいですね。

まつもと:大学4年行って、社会人2年やったら、何とか追いついた(笑)。

増井:すばらしい。それにしても今の人って、どうやってプログラム学ぶんだろうとは思いますね。

遠藤:そうなんですよね。いや最近、自分の子どもが2歳になってきて、そろそろプログラミングを……。

まつもと:ちょっと早くない(笑)?

増井:日本語が読み書きできるようになる前に、プログラムができることを目指すみたいな話かな。

まつもと:僕の松江の会社の同僚が、「Rubyプログラミング少年団」というのをやっていて、自分の子どもが小学校中学年ぐらいになったので、自分の子どもに教えたいというのが動機なんだけど。

彼が言うには、子どもたちが最初に引っかかるのが、キーボードが打てない、英語読めないということなんだって。割と多くの子どもたちにとって、英文をタイプしたり覚えたりするのが辛いという。

それで、彼が始めたのが、Scratchみたいに簡単なタイルを並べながら学べるプログラミング言語。そうすると、子どもでもロジックを表現できて、プログラミングが何たるかがわかるというんです。

でも、だんだん進んでくると、タイル並べるだけだと表現できないロジックも出てくるし、100個ぐらいタイルが並んでいるとデバッグできなくなる。そこで彼が考えたのは、ボタンを押すと、そのプログラムがRubyに変換される。

Smalrubyという言語。英文を覚え、キータイプをできるようになったらそっちのほうがいいのね。Smalrubyが面白いのは、逆のボタンもあること。Rubyでエディットしておいて、ボタンを押すと、タイルに戻る。

遠藤&増井:おお。

まつもと:smalltalkに比べても、学習曲線がゆるやかで、覚えやすいし、使いやすい。

それはそれで一つの面白いことなんだけども、もう一つ彼から聞いた面白い話は、大体、プログラミングに必要な抽象思考ができるのって、もちろん、人によって全然違うんだけど、多くの子どもは小学校3年生か4年生ぐらいじゃないかと。

やっぱり8歳とか9歳とかにならないと、抽象的な概念を理解するのは難しいというんです。

増井:ところで、小学生で始めた子と、高校生で始めた子は、20歳ぐらいになったときに、違いは出るんですかね。僕、あんまり出ない気がするんですよね。早くやることがいいのか、どうなのが、あまりわからない。

まつもと:今の社会システムだと、普通に人生を歩むと社会に出るのは22歳とかだから、そこより前にプログラミングを学んでたからって、そんなに大きな差がでるかというと、そうではないですね。

ゲームを遊ぶのではなく、それを作る側に立つ子どもたち

遠藤:そうですかねえ、いや、日本の子どもは九九を小学校2年生で覚えますけど、大きくなってから
覚えても使いこなせるようになるのは難しいと思うんですよね。やはり、子どもの頃から教えるというのは、すごく大切なことなんじゃないかなと思うんですけど。

そもそもの話に戻るんですけど、今の子どもって遊びたいと思ったら、ゲーム、いくらでもあるじゃないですか。それをあえて、Smalrubyなり何なり、自分で何か動くものを作って遊ぼうというところにいく、その動機がないような気がしていて、それが、一番、気になってるんですよね。

まつもと:そういう動機そのものがない子もたくさんいるだろうねえ。その一方で、例えば、ありもののゲームを買ってくると、やっぱり、チートができないじゃないですか。

自分でルールを決めたい時には、そのゲームを作る側に回らないとできないんでね、その辺にモチベーションを持つ子というのは、いるんじゃないかなと思うんだけど。

もちろんゲームを遊ぶ側で終わる子はたくさんいるんだけど、クリエーターに回りたい子供というのは、それなりにいて、いろんなかたちでクリエイティビティを発揮する。

その中の一つにプログラミングがある。機会を与えさえすれば、ある一定の割合では出てくるんじゃないかと。

増井:僕は、でも、その割合がそんなに高いとは思えない。アニメを見るのと、絵を描くのは、やっぱり、違うような気がするので。

まつもと:アニメが好きな子も、一瞬ぐらいはアニメーターになろうとは思うかもしれないけど、実際、なれるところまで精進する子というのは少数派だよね。

増井:でもやっぱり、漫画を書きたい子は書きたい。それを書きたいと思ったときに、書きたい環境があるのは、すごい大事だとは思う。

遠藤:そうか。なるほど、そうするとあれですね、子どもにお父さんと同じ趣味を持ってもらえるかどうかは、かなり運にかかってくるわけですね、この場合。

まつもと:まあ、僕の子は1人もコンピュータに関心がないからね。

遠藤:それは、残念ですねえ(笑)。

まつもと:一族探しても、コンピュータ関係の仕事をしているの僕だけだし。

増井:だからこそ、子どもがお父さんと同じプログラマになりたいという発言をしたりすると、本人が大喜びする。

まつもと:まあ途中で脱線するかもしれないけど、でも、うれしいよね、うん。

遠藤:そうか、パソコンが広まったんで、プログラマとか、どんどん増えていくかなとも思ったんですけど、それでもやっぱり、作る側に興味を持つ人は限られるということは、プログラマが増えるとも限らないということですかね。

まつもと:機会を与えようっていうカリキュラムは、どんどん増えてくると思う。それに今は、誰の家にもコンピュータがあるので、そういう意味で言うと、誰にもチャンスはあるんだけど、今度は教える人がいない。子どもはパソコンを使うんだけど、やるのは何かと言うと、YouTubeを見る、ニコニコ動画を見る。

増井:Facebookに書き込む(笑)。

まつもと:でも、それって、プログラミングの経験はしてないわけじゃない、パソコンはあっても。学校の授業とかで、簡単なものでいいから、プログラミングの経験をする機会が幅広く与えられていれば、その中で興味を持つ子が一定の割合でいるはず。

そこでその子をピックアップできるような仕組みというがあるいいと思うんですよ。プログラミングという科目があって、一通り教養としてやっておいて、興味のある子はバンドを組んだり、サッカーチームに入るようにする。

プログラミング少年団に入って、それでもオタクとか言われないで、普通に「ああ、あの子は野球する、この子はサッカーする、この子はプログラミングをする」って認められる社会になれば、もうちょっと、プログラミングの裾野が広がるんじゃないかなあと思う。

実は来年度から、松江市の全中学生は、授業でSmalrubyやることになった。学校ではやれることが限られるので、その先は、少年団でカバーしようかなと思って。

松江市はもう7年ぐらい前から、中学生Ruby教室というのやっているのね。その第一期生は、去年、高専を卒業してRubyプログラマとして就職したんですよ。

増井:おお。着々と成果は出ているんだ。

まつもと:教育ってものすごい時間かかる。始めて5年、6年たってから、初めて成果が上がるという感じなので。我々の業界のタイムフレームに比べると、めっちゃ長い(笑)。

⇒座談会・第三弾「プログラマの評価を上げるにはどうすればいい」に続く!

関連レポート

第一弾記事「超絶技巧プログラミングはなぜ面白いのか

【超絶技巧初級テク】ソースコード中のデータを限界まで詰め込もう!

遠藤さんのように、超絶技巧テクニックを駆使したプログラミングを楽しんでみたい!という方のため、CodeIQ事務局では言語不問の初級問題をご用意しました。ぜひ、腕試ししてみてくださいね!

正解者の中から抽選で1名の方に、遠藤さん・まつもとさん・増井さんのサイン入り本をプレゼント!
締切:2月10日(水)AM10:00まで
⇒挑戦は、こちらから

ITエンジニアに読んでほしい!技術書・ビジネス書 大賞2016

翔泳社「ITエンジニア本大賞」とのコラボ問題。正解者の中から抽選で人気の技術本をプレゼント!

2016年1月17日23時59分までに挑戦していただいた正解者の中から、抽選で1名様に「ITエンジニアに読んでほしい!技術書・ビジネス書 大賞2016」で選ばれたプレゼン大会参加本(技術書部門)をすべてプレゼントします。

遠藤さんの著書、『あなたの知らない超絶技巧プログラミングの世界』(技術評論社)もCodeIQ推薦本として掲載されていますので、ぜひ清き一票を!

⇒ ☆☆挑戦は、こちらから!☆☆

プレゼン大会参加本(技術書部門)は2016年2月上旬頃に発表予定
ITエンジニアに読んでほしい!技術書・ビジネス書 大賞とは?

CodeIQ MAGAZINE
カテゴリー : デジタル・IT タグ :
CodeIQ MAGAZINEの記事一覧をみる ▶
  • 誤字を発見した方はこちらからご連絡ください。
  • ガジェット通信編集部への情報提供はこちらから
  • 記事内の筆者見解は明示のない限りガジェット通信を代表するものではありません。

記事をシェアしよう!

TOP