子どもたちへのプログラミング教育が本格的に始まる。日本のハッカーの元祖と呼ばれる竹内郁雄東京大学名誉教授は、プログラミング能力と言語能力は関係があると話す。その理由と求められる人材像について聞いた。

国語力とプログラミングの関係

 ―国語ができる人じゃないとプログラムは書けないと言及されています。
 「国語力は広い枠組みで言えば、『情報伝達力とそれに伴う情報理解力』のこと。相手がコンピューターというだけで、プログラミング言語も言語の一種だ。論理的に固い機械が相手のため、プログラマーには明晰(めいせき)な言語表現が求められる。全ての側面ではないが、人間のコミュニケーションにも共通する」

 「一方、現在の入試を念頭に置いた国語教育は読解が中心で、ある事柄を明晰に伝える訓練をしていない。自分で身につけるしかない。大学生を見ていると、よい文章を読むことで明晰に伝える力がついている。また、数学について英語で書かれた文章は、やさしく、明解なため、ここから学ぶことも有効ではないだろうか」

 ―これまでに出会ったプログラマーたちはいかがでしたか。
 「NTT研究所時代に、『文章とプログラム』や『作文とプログラミング』の相関関係について研究者仲間にアンケートしたことがある。その時は、情緒的な文章を除外しなかったため、思ったほど相関がなく、がっかりした。ただ、きれいなプログラムを書く後輩は情緒的な文章は下手だが、論理的な説明文は上手だった。際立って優れたプログラミングの才能を持つ人たちを見て、考えに確信を深めた」

 ―印象的な人は。
 「GNUプロジェクト主宰のリチャード・ストールマン氏やソフトイーサ社長の登大遊氏、プリファードネットワークス副社長の岡野原大輔氏、筑波大准教授の落合陽一氏などが印象的だった。私が統括プロジェクトマネージャを務めている、情報処理推進機構の未踏IT人材発掘・育成事業に選ばれたクリエイターたちは基本的に当てはまる」

 ―優秀なプログラマーを発掘する未踏では、言語能力を狙った指導をしていますか。
 「採択前に提出してもらう提案書の中で、私は自由作文をよく読むようにしている。採択後、個別のミーティングや発表の場を通じ、情報伝達力を高める。9カ月で驚くほど伸びる。もともと国語力が高いが、より簡潔な表現が磨かれる」

複数言語の〈メタスキル〉を身につけよ

 ―ITエンジニアに必要なことは。
 「『楽ツ!(ガッツ)』だ。これは複数の意味がある。人々が楽しくなる技術を開発する。辛いことも楽しいと思ってやれる。それを楽だと思ってやれる。ガッツがある。私は40代の頃、夜にビールを飲みながら一気呵成にプログラムを書いた。バグ取りはゲームの『ドラゴンクエスト』のようで楽しかった。バグ取りが楽しくなれば怖いものはない」

 「人生をプログラミングに賭けたい人は、特定のプログラミング言語にこだわらず、『メタスキル』を身につけてほしい。言語の寿命は30年程度で、単一の言語に固執すると、陳腐化のたたりを背負う。情報科学の基礎を勉強し、プログラムの本質を理解し、新しい言語に乗り移れる力をつける必要がある」

 ―ITエンジニア以外の人には、どんな教育が必要ですか。
 「専門家にならなくても、小学校や中学校で情報という学問を学ぶことが必要だ。日本では、プログラマーをオタクと思う人も少なくない。プログラマーが尊敬される正しいピラミッドがあれば、その中から花形エンジニアが出てくる」

 「ただ、あれもこれも『やらなければならない』という強迫観念を持って取り組むと、かえって良くない。気分転換もしながら、楽しくやってみてはどうだろうか」

 ―プログラミングの魅力は。
 「プログラミングは未来を制御可能な形で記述すること。未来を制御できることは楽しい。これが本質だ」
https://newswitch.jp/p/14132