左から吉村氏、草野氏、清水氏
左から吉村氏、草野氏、清水氏
[画像のクリックで拡大表示]

 ドワンゴは、インターネットを利用した通信制の高等学校「N高等学校」(N高)のカリキュラムの一つとして、プログラミング教育に取り組んでいる。N高のプログラミング教育の責任者である清水氏、N高生向けに無料で提供している課外授業のN予備校でプログラミング教育を担当する吉村氏、N高生向けの通学制コース「バンタン プログラマーズ・ハイレベル・ハイスクール」(PHH)の責任者である草野氏に話を聞いた。今回は、最初に学ぶべきプログラミング言語やプログラミングの未来について語ってもらった。

(聞き手は大森 敏行=日経NETWORK


最初に学ぶプログラミング言語としてCをやるべきだと主張する人は多い。それについてどう思うか。

清水:Cはもうやらなくていいのではないかと思っている。以前は低レイヤーのシステムプログラミングをしようとするとCやC++が必要だったが、今だとGoやRustといった言語でもシステムプログラミングができる。Cはポインターやメモリー管理など概念として難しい点がある。そうしたところでつまづくよりは、入口が理解しやすい言語の方がいい。N予備校の授業では現状はJavaScript、正確にはECMAScript 2015(ECMAScript 6)を使っている。

草野:Cをやるべきかどうかという議論をしている時点でおかしい。目的に合った言語を選べばいい。3Dゲームをやりたいならゲームエンジン「Unity」を使うためにC#、Webブラウザーで動くプログラムであればJavaScriptといった具合だ。「やりたいことがないけどプログラミングを覚えたい」ということであれば最も簡単な言語を選ぶべき。Cはあまりに有名で、あまりにいろんな言語のベースになっており、あまりに歴史がある。そのため「Cをやっていないプログラマーは一人前ではない」と言う人がいる。しかし、自分は一人前のプログラマーとは「望んだものを作れる人」だと思っている。

吉村:「どの言語を学ぶべきか」というのは特定の言語に縛られている人の発想だと思う。最近の優秀なプログラマは、4~5種類の異なるパラダイムのいろんな言語を使える人が多い。

高校の情報の授業ではいまだにCを教えることが多いのでは?

草野:それは正しいと思う。Cにはとても歴史があるので、教育のための資料が大量にある。プログラマーではない教師が教えるために教育が体系化されている。個人がプログラミングを学ぶ言語としてCを薦めることはないが、多くの生徒に対して体系的にプログラミングを教えるときにはCという選択は間違いではない。