ニュース
まつもとゆきひろ氏「プログラミングコミュニティは終わらない文化祭」
~アスキー総研主催のシンポジウムでまつもと氏×古川亨氏が対談セッション
(2013/12/3 06:00)
株式会社 角川アスキー総合研究所は12月2日、東京・秋葉原でシンポジウム「なぜプログラミングが必要なのか」を開催した。
シンポジウムでは、今後より一層生活に融け込んで行くであろうネット社会において、プログラミングが持ち得るパワーを再確認するとともに、プログラミングを学ぶことによって個人が生活や仕事をどうデザインしていくかについても討論された。
内容は「プログラミングの重要性」、「スタートアップ×デザイン×プログラミング」、「教育とコンピュータ」、「ホットプログラマーズトーク」の4セッションが行われた。
ここでは、角川アスキー総合研究所 取締役兼主任研究員の遠藤 諭氏がモデレーターを担当した、Rubyアソシエーション理事長のまつもとゆきひろ氏と、慶応義塾大学大学院教授 元マイクロソフト会長の古川享氏による対談形式のセッション「プログラミングの重要性」についてレポートする。まつもとゆきひろ氏は、角川アスキー総合研究所の主席研究員も務める。
3浪した“負け組”が逆転できる世界
遠藤氏がまず、自己紹介も兼ねてプログラミングについてどういうふうに考えているかを語ってほしいと振ると、古川氏はまず自分の経歴を紹介。英語が苦手で3浪したが、浪人中にアキバのマイコンショップ店員になり、大学に入ったものの、キットコンピュータを組み立てて売るといったことばかりしていたという。23歳で初めて米国に行って8ビットのプログラミングで開眼、その時にちょうどApple IIが出た、という日本のマイコン黎明期にコンピュータ漬けだった青年時代を振り返った。
「3浪していたから、すでに人生負け組として生きていたんだけれども、何か新しいことを手がけたら、そこで第一人者になるチャンスがあるのがソフトウェアの世界じゃないかと気がついた」(古川氏)。その後アスキーに就職、アスキーでは月刊アスキーの副編集長を務め、その後マイクロソフトで日本語OSの開発に携わり、日本マイクロソフトの会長に就任することになるわけだが、気づいたきっかけとなったのが、「未来の予測をすると、予測は必ず外れる……未来は予測するものではなく、自らの手で創るもの」というアラン・ケイの言葉だったという。
「この言葉が、いまもソフトウェア技術者として生きていくための重要なキーワードになっていると思う」(古川氏)。
いま、若者が閉塞感を感じていて、多くの就活してもなかなかいいところに就職できないといった悩みを持っているが、「そうではなく、自分が作ったものが世に出て、多くの人に使ってもらって、健康的な富の配分として次の開発の資産となったり、自分がリッチになったりというチャンスがソフトウェアの世界にあるんじゃないか」と古川氏は言う。
古川氏は現在は車の開発も6割はソフトウェア開発だと指摘。「ものづくりの中の重要な要素として、トータルのデザインをしていく中で、プログラム技術者が重要な役割を果たすというのが見えている。その技術者たちを実際に支援していく環境を整えていきたい。ソフトウェア開発者が社会をデザインしていく。そういう若者がどんどん巣立っていくために、自分が、世の中に離陸するためのカタパルトになって、お手伝いできれば」と古川氏自身が取り組む現在から今後のライフワークを語った。
まつもとゆきひろはどうやってできたか
次に遠藤氏が松本氏に、プログラマーになるきっかけについて尋ねた。
まつもと氏は、「1977年くらいに、父がワンボードマイコンを買ってきていじっているのを見ていた小学生だったが、当時は興味を持たなかった。その後、1980年頃にシャープのポケットコンピュータPC1210でベーシックを使うようになって、ああこれがコンピュータか、とわかってそこから始まった」ときっかけを語った。
「プログラミングになぜはまったかというと、プログラミングしていると、コンピュータは自分が教えたとおりに動くんですよね。ラジコンなどと違うのは、自分が操作した通りに動くんではなくて、自分が教えたことをコンピュータが判断して動くんですよ。それがなんか、すごいかわいいと思ったんですね。犬に調教して『伏せ』とか教えるのと似た感覚を感じて。こいつ教えたとおりに動くぞ、っていうふうなのが原点で、それがずっと続いて今に至ったというところがけっこうありますね。」
「大学を卒業した後は、仕事としてお金を稼ぐ手段としてプログラミングしてきたんですが、同時に、このコンピュータに言うことを聞かせるというのがすごい楽しい、という喜びの側面というのもけっこう大きい。仕事はお金を稼ぐためにやっているという人はすごくたくさんいて、それはそうなんだけど、その中に喜びを見出すっていう人もたくさんいる。プログラミングという仕事は、うまくすると、お金を稼ぎながら楽しみを持つという、その楽しみの割合を多くできる仕事なんじゃないかなあと今でも思っていて、そこはちょっと強調したいところでもあるんですよね」と、プログラミングの魅力を語った。
松本氏は、楽しいとか、プログラミングに対する愛とか、「すごくエモーショナルなところが原点になっている」という。
創る人と使う人、創る人を支える人
続いてまつもと氏は、「今日のテーマは『プログラミングの重要性』という話なんですけど、正直言うとテーマが良くなくて(笑)」とセッションテーマにダメ出し。会場の笑いを誘った。
、「なぜかっていうと重要なのは明らかで、社会が全部いまコンピュータで動いているわけですよ。いまコンピュータが全部動かなくなったらたぶん人類は破滅するんです。でもそのコンピュータは誰かがプログラムを書かないと動かないわけだから、その重要なプログラマーをどう扱うか、というところがキーになっていくんじゃないかなと思うんです。」(まつもと氏)
世界の見方はいろいろあるが、まつもと氏の視点では、世の中はプログラミングをして自分で開発する人と、そのプログラムを使う人に二極分化するという。「そうすると、自分でソフトウェアを開発しない人、他の人の作ったソフトを使うだけのユーザーは、自分でコンピュータを直接コントロールすることはできなくて、誰かが決めたルールだったり、誰かが決めたデザインだったり、誰かが決めたエクスペリエンスを経験する。自分の経験を誰か=ソフトウェアを作った人がデザインしているわけです。」
昔コンピュータがなかった頃に比べたら、いろいろなことができるようになって、能力がコンピュータによってエンハンスドされたことでハッピーになった人もいる。まつもと氏は、それはそれでいいが、一方で、「わたしはコンピュータの使い方を誰か他の人に決められるのは嫌だ、自分でコンピュータをどう使うかを決めたい、という人も当然居る。そういう人たちが、だけど、わたしはプログラムできないんで、どうすんのよ、みたいなところにはもっていきたくないなと思っているんです」という。
まつもと氏のコメントに対して古川氏は、「それはすごくいいポイントで、そこに大きな未来があるのに気がついてよ、ってちょっと突っ込みをしたいです」と延べ、自身の経験から得た考えを語った。
「僕は実は、8ビットの時代にはけっこう優秀なプログラマーだと自負していたんだけど、高級言語を使い出して16ビットになった瞬間に、ああこれはもうやめた方がいいと。自分より5年、10年若い子がすごいコードを書き出して、たまたま当時アルバイトで中島聡さんていう人がいたわけですよ」(古川氏)。
ここですかさずまつもと氏が、「それは相手が悪い」と突っ込みを入れて会場からも笑いが上がったが、古川氏は続けて、「彼はほんとうに凄いコードを書くんだけど、そのままでは納品できないので僕がデバッグしてコメント書いて納品してたんだけど、ある日、彼の書くコードが読めなくなった。もっとびっくりしたのは、自分の昔書いたコードが読めなくなって、これはやめたほうがいいやと思ったのが27~28歳の時」だと語った。
その時古川氏は、「プログラミングするときの苦しみだとか喜びを自分はよく知っている。この成果をもっと多くの人に広げてみんなに使ってもらうためには、能力の限界を知った人間こそ、優秀なプログラマーがもっと世の中で活躍させるためのチャンスをあげるということができると僕は思った」という。
当時アスキーのバイト料は月10万円くらいだったが、中島聡氏が大学2年生から4年生くらいまでの間に、アスキーは総額で1億円を超えるくらいのロイヤリティーを払ったという。「ポイントは、自分がマネージメントをしていい成果を上げれば、その成果を開発者に還元することができる。何パーセントか払って1億円以上の再配分をアスキーが許してくれたという点については、当時のアスキーに感謝している。」
「プログラミング能力が欠けていても、優秀なプログラマーをデビューさせて、環境を整えてあげると、さらに飛躍するというのを外側から楽しむことができる。VAXが使いたいと言われれば、当時VAXは1億円以上したけれども会社で買って使わせてあげる、よりよい環境をプログラマーに戻して、開発した成果をたくさんの人に使ってもらって、多くの人が喜んでいる顔を共有しようよということができたのを楽しんだ」と古川氏は語り、自分自身が特別に優秀なプログラマーでなくても、優秀なプログラマーを支援し利益を還元することで、優秀なプログラマーが生み出す変革を共有できると述べた。
誰でも(興味があるなら)プログラマーになれる
モデレータの遠藤氏が、書くプログラマーと書けないユーザーというニ極分化についてさらに議論を促すと、まつもと氏は、「書ける人と書けない人のしきいというのはそんなに高くないと思う」とコメント。
たとえば、プロ野球選手というのは非常に狭き門で、30歳超えてプロ野球選手になりたいと思っても無理だが、「プログラマーは関心がある人ならすぐになれる」とまつもと氏は言う。
「プロフェッショナルではなくて趣味でやるという形も含めれば、関心があるならすぐに(プログラマーに)なれる。そんなに敷居は高くないはず。プログラムに関心がある、やる気があるなら踏み出してみてはどうか」と、難しいと敬遠する前に、興味があるならまずやってみてはどうかと呼びかけた。
一方で古川氏は、プロ野球の世界には、日本人でも年間5億円以上稼ぐというスタープレーヤーが何人もいると指摘。野球では、アメリカ人の誰もが知っているプレーヤーも何人もいるが、プログラマーの世界では、日本が誇るプログラマーとしては、まつもとさんは日本から初めて大リーガーになった野球選手くらいの存在だが、もっと多くのスターが出てきて、リッチになったり、憧れの存在になったりという人が出るようにしたいと述べた。
古川氏は、ビル・ゲイツ氏になぜプログラミングを始めたか聞いたことがあるが、ゲイツ氏は「自分の母親がいろいろな仕事をしているときに、自分の母親を助けられるようなプログラムをコンピュータで作りたかった」と答えたというエピソードを披露し、「身近にいる人が、もうちょっと幸せになってほしいとか、重い仕事をしているときにもっと楽にさせてあげたいとか、僕らにとっての豊かな生活を実現するのはプログラミングの力」だと指摘。
これからは仕様書にしたがって開発するのではなくて、世の中で必要とされているものを汲み取って、アジャイル型でチューニングしながらいいものを仕上げていく形で、新しい世代のプログラマーがいいものを作って、ある人はリッチになって、ある人はヒーローになって、そういう人たちが出てきて欲しいと述べた。
プログラミング言語は、自分の思考を明確化するツール
遠藤氏が、「プログラムというのは、機械にわかる言葉と人間の言葉を翻訳する行為ではないとおっしゃっていたが」とまつもと氏に振ると、まつもと氏は、「プログラミング言語というのは、コンピュータに自分の意図を伝える手段でもあるんですが、同時に人間の思考を明確化する手段でもある」と回答。
コンピュータに伝えることはあいまい性があってはいけないが、人間が日本語で考えている時はどうしても考えがあいまいになってしまう。「その思考を表現する一手段としてプログラミング言語があって、プログラミングすることで自分のアイディアが明確化されることによって、コンピュータもそれが理解できる。言語が思考に与える影響力みたいなところが気に入っているところでもある。プログラミング言語は、ただ単にコンピュータに命令を与えるだけではなくて、自分の思考を明確化する手段でもあると考えている」と説明した。
遠藤氏は、「開発で行き詰まって誰かにその問題を自分で説明している間に、ああそうか、と思いついて解決してしまったといった話はよく聞きますね」と誰かに話す(言語化する)ことで問題が整理され、解決することがあると指摘。そうすると、解決が思いついた本人はもうすぐに説明をやめてプログラミングに取り掛かりたくなるという。
「よくあるのは、プログラミングをする人で、自分の席にテディベアを置いて、テディベアに話す人がいますね」とまつもと氏。「クマに説明しているうちに『ああ、わかった!』となるんですね。自分を客観化するというのがけっこう重要なので、そういうのを実践している人はけっこういます。ひらめいたらすぐに取り掛かりたいですからね」(まつもと氏)。
「クマなら説明を途中で突然打ち切ってすぐ開発の続きにとりかかっても、文句は言わないですからね」と遠藤氏が返すと、会場からも笑いが起こった。
「わたしはお風呂やベッドの中で『ああそうか!』ということがけっこうあります。」(まつもと氏)
プログラミングコミュニティは終わらない文化祭
まつもと氏は、プログラミングコミュニティは「終わらない文化祭みたいなものじゃないか」という。
Rubyカンファレンスはじめ、カンファレンスがたくさんあり、イベント間際になるとコミットが増えてどんどん進化したりする。こっちでイベント、あっちでイベント、こっちで勉強会、といった具合で、次々にイベントがあるので、終わらない文化祭のような感じだとまつもと氏は述べた。
ゲーミフィケーションという言葉があるが、プログラミングではさらにそれが進んで、毎日がお祭りのようだという。
遠藤氏が、ゲーミフィケーションに関する議論がいろいろある中で、ジェーン・マゴニガル氏の有名なスピーチから、効率よく仕事しなくてはいけない、オンラインゲームのユーザーがパーティを組んで、役割分担をしてすごい力を発揮するが、プログラミングのコミュニティでは、理想の自分の役割分担ができている、というような意味かと確認すると、まつもと氏は「プログラミングでは、自分と他者の役割をデザインすることができる」と答えた。
(注:ジェーン・マゴニガル氏のゲーミフィケーションに関するスピーチはTEDのサイトで聞くことができる<http://www.ted.com/talks/lang/ja/jane_mcgonigal_gaming_can_make_a_better_world.html>)
まつもと氏は、「自分がソフト開発するにあたり、自分の世界をデザインすることができる。その自分の世界と他者の世界をどうデザインするか、どういうふうに仕事をするかコミュニケーションするかどうかも含めて自分が決めることができる。自分だけの世界をデザインできる。誰かが決めた世界で生きるだけではなく、主体的に作ることが可能になってきている」とコメント。
ただし、プログラマーの「経済的なリワードはまだ十分とはいえない」と指摘した。
会場からの「仕事としてプログラミングをしている人がいる一方で、コミュニティでプログラミングを楽しんでいる人がいる。この違いはどこから生まれるか」という質問に対してまつもと氏は、「一歩踏み出した人が楽しいプログラマーになっている。コミュニティの人もべつに最初からそういう人だったわけではない。勉強会に参加したら発見があって、そういう生き方が存在することに気がついて、自分がそうなっていく」と答えた。
また、まつもと氏は、「プログラミングというのは有効な手段で、他の手段に比べて、確率だけでいえば、自分の存在を確立できる可能性は大きいと思う」とコメント。
15~20年前に比べたら、いまの方がハードルは下がっているともまつもと氏は指摘する。「オープンソースで何とかしました、と言っても、オープンソースってなにそれ、という人はいまは少ない。僕は自分が作ったソフトを発表して、必要に応じて改良してきた。特別なことをやってきたとは思っていない、当たり前のことをしただけ。100人いたら20人くらいは成功するんじゃないかと思うが、それをやる人がすごく少ない。」
古川氏も、「若い人に、閉塞感の中で潰れてほしくない。なにかを否定して、自分は正しい、相手は間違っていると言ってしまうとそこで成長が止まってしまう。自分自身を社会に認めてもらえるためのパートナー、それは企業だったり、技術だったり、人かもしれないが、絶対チャンスはめぐってくる」と、長い不況で閉塞感に苦しむ若い世代にエールを送った。