「デジタルネイティブ」の素顔

Ruby開発の新メンバーは14歳の中学生!

2011/04/14

 オープンソースのプログラミング言語「Ruby」の開発コミュニティで、いま注目されている人がいる。福森匠大(Shota Fukumori、sora_h)さん、14歳だ。国籍、性別、年齢などは無関係というオープンソースの世界だが、これほど年若い参加者が「コミッタ」と呼ばれる開発のコアメンバーに迎え入れられることは珍しい。Ruby開発に加わった時点では中学2年生。「最年少記録」を塗り替えた。

 欧米を中心にビジネスの世界でも迎え入れられつつあり、先日、JIS規格化もされたRuby言語。そのRubyの生みの親で、現在も開発をリードしているまつもとゆきひろさんに島根県から動画チャットで加わってもらい、福森さんに話を聞いた。

無料海外ドメインも使う「デジタルネイティブ世代」

photo01.jpg 福森匠大(sora_h)さん

 記者への挨拶もそこそこに、最新のAndroid端末とMacBook AirをWiFiルータでネットに接続すると、福森さんは、ひっきりなしにオンラインのコミュニティに挨拶して回った。ざっと見ただけでも、同時並行で3つ、4つ。Ruby関連の人々やオンラインゲーム仲間に「メディアのインタビュー取材を受けていること」を告げて回る。

 その反応を拾い読みするために、しばらくすると、再び複数の画面をグルグルと回転させる。福森さんは、100人強のボランティアで作る震災関連の情報サイト「sinsai.info」にも開発者として参加していて、この画面も頻繁にチェックする。

 「1日に何時間ぐらいPCに向かっているかって、そりゃ起きてる時間はずっとですよ」と福森さんは笑う。ITを使いこなすデジタルネイティブ世代だ。

 「でも、デジタルネイティブって、意味が分かりませんよね」。こう早口で語る福森さんだが、その真意は、ITとは単なるツールの使いこなし以上の何かだというところにあるようだ。IT関連のスキルを測る資格試験「IC3」に最年少で合格し、そのことから日本テレビの番組に出演したことまであるが、「そもそもオフィスソフトって持ってないんですよね」と冷ややか。

 一方、海外ドメインを取って仲間同士でWebページを立ち上げたような話は、楽しそうに語る。

 「オンラインゲームの仲間でサイトを作ったんですよ。.tkドメインなんですけど、これってトケラウ諸島のもので、無料で取得できるっていうのもあるんですけど、TKってTeam Kill(戦闘仲間同士が誤って味方を撃ってしまうこと)の略でもあるんですよね。協調性がないうちのチームにぴったりなんですよ」

webpage.jpg 福森さんが仲間たちと作るWebサイト(http://pasra.tk/

 小さなWebサービスを作って立ち上げたり、Twitterと連携するボットプログラムを作るのが今は楽しいという。iPhone向けの有料アプリも作ったことがある。「何かプロダクトを作るというときは、RSS(ネットの情報)は1週間ぐらい見ないようにすることもあります。Twitterは見ますけどね(笑)」

触れ始めて2、3年でRuby開発者に

 プログラミングを始めたきっかけは「よく覚えていない」という。最初に触れたのは父親が所有していたWindows 98SE搭載のパソコンだ。初心者向けのプログラミング言語「HSP」を使っていたという。Webサービスを作るのにPHPを使うようになり、その後すぐにRubyに切り替えた。Rubyに触れるようになって、今で2、3年ほどという。

 Macに標準で入っているRubyのバージョンが古いことから、自分でRubyのソースコードをビルド(実行可能なプログラムに変換すること)ようになった。「OSに入ってるRubyってバージョンが1.8系じゃないですか。Ruby 1.9を使うようになったのは中学に入ってからですね。1.9は速いと聞いて」。

 Rubyの中身に興味を持ち、自分で改造するようになり始めると、ビルド後の「テスト」の処理が遅いことにイライラするようになった。

photo02.jpg

 「オレのマシンが遅いだけなんですけどね。誰か高速化してるのかなって(Ruby開発者に)聞いたら、さぁ……って。誰もやってなかったんですよ」

 テストという工程は、Rubyが正しく機能しているかを検証するためのもので、多くのチェック項目を1つずつ実際に実行して機械的に確認するものだ。チェック項目が多く、高速なマシンを使っても1〜2分程度かかる。Rubyの生みの親であるまつもとさんは、「だいたいテストを走らせるときって退屈だから、マシンの前から離れるよね」と、テストに時間がかかることが潜在的な問題だったと認める。

 福森さんは、多数のチェック項目を1つずつ順番に実行するのではなく、複数を並列に実行する仕組みをプログラミングで実現。今のパソコンのCPUには安価なタイプでも複数の実行ユニットがあるため、これで大幅に高速化できる。北海道在住のRuby開発者、村田賢太さんなどの助言を得て、3日ほどで実装したという。CPUの実行ユニットが2つの場合の計測例では、120秒かかっていたテストが40秒で済むようになったという(福森さん自身による解説記事)。

「若くても特別扱いはしない」

 テスト高速化の取り組みが、まだ完全に終わっていない段階で、突然まつもとさんは、福森さんをRuby開発者のコミッタとして迎え入れた。福森さん本人も周囲も驚いた。

 まつもとさんは、こう話す。

 「突然といっても、すでにRuby本体に対する機能追加の提案などは昨年から行っていたし、会って話したこともありますからね。Rubyに対してやりたいことがあるなら、自分でやったらいいんじゃないかって」

 「コミッタといっても、若いからダメとか、年を取って経験を積んでいるから大丈夫とか関係ありません。ちゃんと話ができる人である限り問題ないかな、と」(まつもと氏)

matz.jpg Ruby開発者のまつもとゆきひろさん

 オープンソースのプロジェクトに参加する開発者は、必ずしもプロジェクト全体を見渡しているわけでも、継続的に開発をするわけでもない。

 「一瞬だけ開発に加わるのは簡単なんです。自分が欲しい機能を実現して、それで開発コミュニティから離れちゃう人って結構いるんですよ。そうじゃなくて、継続的に開発に取り組んでもらえると嬉しいなって。面倒を見るなら、ずっと面倒を見てもえるとありがたいなって」(まつもと氏)

 若く、意欲のある福森さんには、もっと踏み込んでほしいとも思っているという。

 「オープンソースのプロジェクトって、やる気がある人が推進力となるところがあるので、私の背中を蹴飛ばすぐらいのことをしてくれたらいいなと思っています。コミッタというのは全部で70人から80人います。この人たち全員にそれをやられても困りますが、何人かはそういう人がいてほしいなって」(まつもと氏)

 「やる気はすごくある!」との福森さんの言葉に、まつもとさんが微笑む理由は、現在のRubyに対する取り組みというよりも、今後の活躍に期待してのことだろう。まつもとさんは46歳。福森さんの父親とほぼ同年代という。「まだまだ時間があるからね。私の年齢に追いつくまでに、まだ30年もあるわけです。何でも好きなことをやるといいと思うよ」(まつもと氏)

skype.jpg 動画チャットを使って、まつもとさんと話す福森さん。実は直接会って話した時間は、それほど多くないのだという

大学でコンピュータサイエンスを学びたい

 プログラミング言語の中身に興味があるのか、プログラミング全般に興味があるのか、あるいはWebサービスを作りたいのか。そう聞くと、「面白いことなら何でもいい」と若者らしい返事が返ってきた。小学4年生になったころから学校になじめず、今は自習中心の生活を送っているが、将来は大学できちんとコンピュータサイエンスを学びたい、という。

 学校の勉強では国語が苦手。逆に、幼少期に4年ほど米国のオハイオ州に住んだことから英語には抵抗がない。Ruby開発に関する議論は、英語と日本語の双方で行われているが、福森さんは、この点で恵まれているのかもしれない。Ruby関連イベントでは、外国人発表者に英語で質問することにも臆さない。学校よりも、オープンソース開発で大人に混じっている方がよく、そういうことができる時代は「いい世の中と思う」という。

 インタビュー取材をするときに自分の名刺を渡さないことは、記者の私にはまずない。ところが今回は名刺のことをすっかり忘れていた。当然、聞かれもしなかった。取材を終えて数時間もすると、福森さんからFacebookなどソーシャルサービス上で友だち申請が2つ届いていた。

(@IT 西村賢)

情報をお寄せください:

Coding Edge フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

キャリアアップ

- PR -

注目のテーマ

ソリューションFLASH

「ITmedia マーケティング」新着記事

2023年のSNS炎上総数は189件、炎上元の媒体1位は「X」――コムニコ「炎上レポート」
コムニコが「炎上レポート」2023年版を公開しました。

今度の「TikTok禁止」はこれまでとどう違う?
米国ではまたしてもTikTok禁止措置が議論されている。これまでは結局実現に至らなかった...

「ゼロクリック検索」とは? SGE時代の検索の変化と5つの対策を解説
SEO専門家やマーケター、そして情報を求める人々にとって、「ゼロクリック検索」はどのよ...