第5回 星一氏 東京大学大学院

  • 第5回 星一氏 東京大学大学院
  • 今回は、星一(ほしはじめ)さんにお話を伺いました。星さんは、Ruby用オープンソース・ゲームライブラリ「Star Ruby」の開発を手がけ、誰でも使いやすい2D描画エフェクトのライブラリを公開されるなど、Rubyの分野で積極的にご活躍されております。先日つくば国際会議場にて開催された「日本Ruby会議2008」にてStar Rubyのプレゼンをされるなど、注目は高まるばかりです。取材は、日本Ruby会議2008の初日、夕方の空時間に行いました。

    ※取材日は、2008年6月です。所属や役職などは当時のまま掲載しております。
  • プログラミングに惹かれた子供時代

    川井 今何歳なんですか?

    23歳、1985年生まれです。

    川井 なるほど。ということは、年齢的に10歳でWindows95が出て きた感じですかね。

    はい。Windows95が出たのは小学5年の時ですね。

    川井 その前にコンピュータには触っていたんですか?

    はい、触ってました。あんまり正確に覚えてないですけれども、 小学3~4年の頃には家にありました。で、当時はWindowsは入ってなくて、N88-BASICで遊んで ました。学校の図書館にプログラミング入門のBASICの本があったので、それを読んで独学しま したね。

    川井 小学校の図書館にそういうのがあったんですね。何でそん なものをまた読んだんですか?

    いや~、興味引かれたからとしか言えないですけど。休み時 間とか昼休みはずっとその本を読んで時間潰せましたね。

    川井 意味なんか最初は分からなかったんじゃないですか?

    全然分からなかったです。まず「代入」っていう言葉が分かり ませんでした。あと、等式の右辺と左辺っていう意味もよく分かってなかったんですよ。憶測で、三 角形の図形の左側の辺りと右側の辺りっていう意味なのかと思って、余計に理解出来なかったで すね。やってたらそのうちわかるようになってきましたが。

    川井 周りにそういう人は結構いたんですか?

    いや、僕だけでした(笑)

    川井 (笑)じゃあみんな遊んでるのに、一人だけ昼も放課後も本 読んで・・・

    そうですね・・・いや放課後はさすがに読んでなかったです(笑 )放課後は家でパソコンやってました。

    川井 放課後は家に帰ってパソコン、と。

    そうですね、パソコンをやってました。ただ、ある日パソコンが 壊れて、それを機に自然にしばらくやらなくなりましたね。

    川井 そうですか。壊れなかったら、ずっとパソコンをやってたか もしれないんですね。

    かもしれないですね。

    ゲームとプログラミングの出会い

    川井 他に趣味とか、子供の頃に遊んだこととかありますか?

    ずっとスーパーファミコンのゲームで遊んでましたね。

    川井 スーファミ?(笑)

    スーファミです(笑)シムシティばかりやっていました。

    川井 ゲームはスーファミで遊ぶのみで、パソコンではプログラミ ングのみで遊んでいたと。完全にコンピュータ漬けという感じですよね。

    そうですね。

    川井 じゃあ目悪くなるでしょう。

    はい。小学校1年の時から目が悪くなって、小学校入る前まで は1.5だったのが、小学校6年の時はもう0.1ぐらいになってましたね。

    川井 ほぉ(笑)6年間のコンピュータ生活で視力が悪くなってい ったと。

    そうです(笑)

    川井 なるほど。小学校の後はどういう感じになっていったんです か?

    中学生の時にファミコン禁止を食らって、しばらく勉強してて( 笑)

    川井 禁止したのはお父さんですか?それともお母さんですか?

    両方ですね(笑)で、高校に入ったときにパソコンを買っても らったんですよ。それでまたパソコンに戻ることになったんですね。

    川井 何を買ってもらったんですか?

    飯山電機(現:iiyama)の......当時はまあまあコストパフォー マンスが良かったマシンですね。今度はそこではプログラミングはやらなくて、RPGツクールって いうツールでゲームを作ってました。

    川井 なるほど。子供の頃はゲームとプログラミングは別だったけ ど、ここで合体したんですね。

    小学校の時はスキルがなかったので、RPGを自分で作るって いう発想にはならなかったですね。本格的にやりたいと思ったのは高校の頃からでした。

    川井 高校になってみたら「やってみるか」と。

    RPGツクールはプログラミングじゃないんですけど、性能が良 くて色んなRPGを作れたので、のめりこんでました。でも、今思えばろくなのが出来なかったです ね(笑)とても人様に見せられないようなものばかりで(笑)で、RPGツクールの情報を集めたサイ トを作りたいと思ってプログラミングを再開しました。小学生の頃と同じく、本を読んでPHPやPerl を勉強してホームページを作ってました。

    川井 簡単でした?

    最初は相当苦しみました。Perlでコーディングした時、最後の 改行1個がないばっかりに延々エラーになったとか、そういう些細なエラーで3時間ぐらい悩んだり しました。それでも楽しんでたんですけどね。3時間ぐらい格闘したけど、それでもバグが取れると 楽しいですね。

    川井 何がきっかけで、苦しんだところから楽しんでいけるようにな るんでしょう。最初は大変苦しかったんでしょ?どういったきっかけで開眼したんでしょうか。

    やっぱり小さい成功を繰り返すことでしょうか。自分が好きにな ったものを、無理しないでちょっとずつ作っていって増やしていくのがいいかと。

    川井 じゃあ、星さんは作りながら覚えていくタイプですね。教科 書を一からじゃなくて、自分で作って必要な部分を調べてやっていくという。

    そうですね。

    川井 なるほど、それがいいんですよね。たまに致命的なところは 抜けたりするんだけど、それはまたそれで覚えればいいわけですしね。私も中学の頃、大学の数 学とかやってたときにそういう現象に陥るんですよね。いきなり中学生で微分積分の問題やったり するでしょ。足りないものが出てくる。で、数Ⅰ戻ったりとか。

    文法規則とかリファレンスとかだけだと絶対覚えられないじゃ ないですか。なので、行き当たりばったりでも書いたほうがいいと思うんですよね。で、先ほどの話 に戻るんですが、しばらくしたらまた受験に専念しろと両親に禁止を食らって。未成年は欲望の 歯止めが利かないので(笑)

    大学時代、そしてRubyとの出会い

    川井 真面目に勉強して、その後はどういう学部に行かれたんで すか?

    横浜国大の電子情報工学科に行きました。ハードウェアとソ フトウェアの両方をまんべんなく学びました。

    川井 両方ともやるっていうのは結構海外では多いらしいけど、国 内ではあんまりいないんですよね。学校はまじめに行ってたんですか?

    卒業する程度にはまじめに行ってました。

    川井 じゃあ、あんまり授業というよりは、好きなことをやっていたと 。

    パソコンで過ごしました。

    川井 パソコン好きなんですね~(笑)

    正直、ハードウェアにはそんなに興味もてなくて、ずっとソフト ばっかりやってました。

    川井 何ででしょうね。ものづくりはあまり好きじゃないとかですか?

    ものづくりが嫌いっていうわけじゃないはずなんですけど、僕に はソフトウェアのほうがあってましたね。ソフトウェアって、作ってからのフィードバックが非常に早 いじゃないですか。だから魅了されたんだと思います。

    川井 なるほど。大学の頃はどんなことをやってたんですか?

    プログラムでゲームを作りたいというのが小学生の頃から脈々 と続いてて、いろんな言語を勉強したんですよ。C++ですとか、Delphiとか、Javaとか......で、ど の言語にも利点もあるけど欠点もあって、欠点を見ると他の言語がうらやましくなるんですよね。 それでつまみぐいみたいに他の言語も勉強していったという。で、今一番はまってるのはRubyで すね。

    川井 そういう経緯があって最後Rubyに行き着いたんですね。

    そうです。

    川井 それはやっぱり、他の言語の良いとこ取りをしていると。隣 の芝生の青いところを出来るだけ取り込もうとしている言語だからというのがあるんですか?

    そうですね。一番最初にRubyをやっちゃうと、逆にRubyの良 さが理解されないかもしれないですね。

    川井 確かに。で、Rubyを始めたのはいつぐらいですか?

    大学2~3年ぐらいの時だと思うんですけど、実は先のRPGツ クールというソフトが、私が高校生の時にはまた進化していて、Rubyでロジックが書けるようにな ってたんです。RPGツクールで自動生成されるロジックが全部Rubyで書かれていて、自分で全 部制御できたんですよ。それでRubyを覚えたんです。

    川井 それはいつごろの話ですか?

    2004年だから、4~5年前のことですね。

    川井 2004年っていうと、Ruby on Railsが出始めた頃ですよね。

    RPGツクールを作った方が、先見の明があったというか、結 構特殊な人だったんだと思います。当時、他のソフトでRubyを組み込んだものって一切なかった ですしね。

    アルバイトで学んだこと

    川井 ところで、KBMJでアルバイトをしてましたよね。

    バイトは、ネットの友達に「効率のいいバイトしないか?」と言 われたのがきっかけで、始めてみました。

    川井 ネットの友達は、元々KBMJにいた人ですか?

    そうです。バイトしていた人で、その人に誘われてKBMJに入 りました。

    川井 それは、ネットのどういうところで知り合ったんでしょうか?

    MSNコミュニティっていうネット上の集まりがあって、大学生の 集まるコミュニティがあったんです。そこでオフ会なんかをやってて知り合ったんです。

    川井 なるほど。それまではアルバイトをした経験はあったんです か?

    コンビニで働いてました。大学1~2年の時ですね。この歳に なってバイトを何もしていないのはどうかと思って(笑)、何でも良いからバイトやりたかったんです よ。これはこれで勉強になったと思います。

    川井 どんなところが勉強になりましたか?

    やっぱり、人と話すことですかね。今でもヘタクソですけども、 まだマシになったんじゃないかと思います。

    川井 コンビニですと、色んなお客さんがいますしね。お客さんと 対等じゃないからややこしいですよね。ニコニコしなきゃいけないし、機嫌の悪い客が来ると怒ら れるし。

    そうですね(笑)あと、こっちもミスをしてしまうことがあったりと か。温めちゃいけないものを温めちゃったり。それをどう冷静に対処するかとか、そういうのは結構 勉強になりましたね(笑)

    川井 なるほど、やばいですもんね(笑)

    やばいですね。弁当に付いている醤油の袋が破裂するんで すよ(笑)

    川井 剥がしてやらなくちゃいけないのをそのまま温めるから、ボ ーンといくわけだ(笑)

    そこまで飛び散らなかったですけどね。燃えるぐらいです(笑)

    川井 昔、炭酸飲料を冷凍庫に入れたら爆発したけど、そんな感 じですか?(笑)

    それとはまた違うような気がしないでもないですけど(笑)

    ゲームライブラリの開発

    川井 バイトしながらでもコンピュータやってたんですよね。大学も 含めて、パソコンは具体的にどんなことをやってたんでしょうか?

    ゲームライブラリを作りたいというのがずっと続いていて・・・。

    川井 ゲームライブラリっていうのは具体的にどういうものですか?

    例えばプリミティブなC言語とかRubyが与えられても何も出来 ないわけですよね。だから、画像を表示するためのクラスや関数が提供されるのがライブラリで すね。で、それを作りたいなと思っていて。ゲームを作りたいというのより、ゲームライブラリを作り たいというほうにだんだん移ってきて、幸いなことに似たようなスーファミ大好きな友達がいまして 、その友達がライブラリを使ってくれてお互い影響しあいながら色んなものを作っていきました。

    川井 好きなゲームはありましたか?

    FF(ファイナルファンタジー)ですね。あのシリーズはスーファ ミの頃(Ⅳ、Ⅴ、Ⅵ)が一番楽しかったですね。あとはゼルダの伝説とかですね。それもやっぱりス ーファミのものばかりやってました。

    川井 でも、ゲームそのものじゃなくて、ライブラリのほうにいっちゃ うんですよね。

    そうです、メタな方向(ゲーム自体ではなく、ゲームのプログラ ムや仕組み)に目が行っちゃうんですよ。自分はそういうのが好きなんだなって最近分かるように なりましたね。

    川井 ソフト屋さんって感じじゃないのかもしれませんね。ソフトっ てユーザーに使ってもらって嬉しいっていう人が多いですけど。

    ライブラリも階層が違うだけで、人に使ってもらって嬉しいのは ありますけどね。開発者向けの開発という感じなんですよ。

    川井 どちらかというと研究開発のほうですかね。

    そうですね、開発スタイルとして、理論ガチガチに固めて進め るっていうのはあんまり好きじゃなくて、Rubyのまつもとさんも言ってましたけど、プログラマにとっ て楽しくあるべきだっていうのがあるじゃないですか。実際にプログラマにライブラリを使ってもらう のは一番重要だと思うんですよ。だから、ライブラリを作る場合も理論ガチガチじゃなくて、使って もらって「これはいい」とか「これはだめ」とかフィードバックを得ることが一番良いと思います。

    川井 感性重視というわけですね。

    そうですね。

    大学院への進学

    川井 大学卒業後は就職ではなく、大学院への道を選ばれたん ですよね?

    そうですね・・・当時まだ就職する気は全然無くて、自分がどう いう方面で働くかっていうのは決められなくて、とりあえず「もっと勉強したい」と思って情報系の大 学院を探しました。エンジニアになりたいっていうのはもちろんあったんですけど、具体的に何の エンジニアになりたいっていうのは決まってなくて。で、大学院に行ったんです。

    川井 勉強しながら見つけようということですね。

    そうですね。正直言ってしまうと、周りに流されたっていうのも あるんですけどね(笑)最近、情報系の人は多いですからね。

    川井 それで、東大(大学院)を選んだのは?

    創造情報っていう専攻のプレゼンテーションをされた平木先 生っていう教授がいらっしゃったんですけど、それがメチャクチャうまかったんですよ。オーラが違 うっていうか。それで、試験がプログラミングで、これはもしかして僕のやりたいことがやれるんじゃ ないかと思って、そこに入ることにしました。

    川井 難易度はどうでしたか?

    そんな難しくないと思います。むしろ学部の受験のほうが大変 なんじゃないかなと。ただ、学部の勉強よりも専門寄りなので、やっぱり独学でやり続けてる人じゃ ないと厳しいんじゃないかなとは思います。

    川井 一辺倒の授業聞いてただけじゃ駄目で結構深くやってない と難しいっていうことですね。

    そうですね。一般教養だけじゃ駄目だと思います。

    川井 なるほど。入ってみてどうでしたか?

    入ったらRubyの笹田耕一さんとかいらっしゃって、びっくりしま した。後で確認したら書いてあったような気がしたんですけど、いらっしゃることを知らずに入って 、それで知り合って、「Rubyでゲームライブラリとか作ってるんですよ」っていう話になって、いろ いろアドバイスをいただきました。実はこれから修士研究なんですが、もしかしたらそのライブラリ を使って修士研究をするかもしれないです。大学院でやってることですけども、新しい専攻だか らだと思うんですが、「理論を勉強する」のも大事ですが、実際にバリバリとプログラミングをすると いう、そういうことに重きを置いた勉強をしています。

    川井 それは学部の方針ですか?

    研究室の方針ですね。

    川井 笹田研究室に入っているんですか?

    違います。フロアは同じなんですけどね。

    川井 前の期待どおりに、やりたいこととか出来てる感じですか?

    期待以上ですね。自分の好きなようにやってる感じです。ここ までやらせてもらっていいのかなって感じです(笑)他の研究室とか聞くと、もっと論文をバリバリ 読めとかっていうのがあるんですけどね。

    川井 プログラミングに重視できるっていうのはいいですね。

    そうですね。

    川井 ずっと聞いてきてみると、スポーツは全然やってないようで すが、実際はいかがですか?

    やってないですね。苦手なんですよ。

    川井 完全にコンピュータ系なんですね。

    そうですね。子供の頃は全然が運動出来なくって。でもパソコ ンは得意なほうだと思ったので、コンプレックスはあんまり感じませんでした。自分はこれがあるか らいいやと思ったし。

    川井 なるほどね、そう思えたらいいですよね。欲張ってあれもこ れも出来ないかと思ってもあまり意味がないですからね。

    まあ確かにそうですね。人にはそれぞれ出来不出来があるの で、諦めが肝心だと思います。

    川井 賢いですね。

    ありがとうございます。なんか、この歳でこんなこと語るのは偉 そうなんですけどね(笑)

    川井 いやいや、みんなそれが分からないから、その歳で変にプ レッシャー感じたり、変に人に言われたことを真に受けたりして余計な悩みを抱えるんですよ。そ れが「はいはい、関係ないよー」って割り切れてると、いいと思いますけどね。

    ありがとうございます。

    就職先選び

    川井 会社選びは今一生懸命やっている最中ですか?

    もうほとんど終わりました。

    川井 当然選んだのも、エンターテイメント系っていうかゲーム系 っていうかですか?

    大手の外資に行きたかったんですね。そしたらどこも、立て続 けにグループワークあたりで落ちてしまって......エンジニアとしての能力はあまり見られないまま で終わってしまった気がします。それで、就職どうしようかなと思ってたら、とある大手コンテンツ 系の会社さんからお話をいただいて、説明会あるからと誘われて行ったんです。その時に「うちの 会社はエンジニアをとても大切にする会社です」という説明を受けて、感銘を受けたんですね。

    川井 その担当者さんとはどうやって知り合ったんですか?

    Ruby on Railsの勉強会の時ですね。たまたま撮影に来られ てて、その時に知り合いました。今はそこに行こうかなと思っています。

    川井 どんな試験があったんですか?

    最初に書くだけのエントリーがあって、その後にプログラム提 出がありました。その時にRubyのゲームライブラリを提出したんですよ。その後、本当は面接が2 回ある予定だったんですけど、1回免除いただきまして、いきなり最終面接でした。エンジニアの 人もオープンな人が多くて、Twitterに社員さんの方がいらっしゃるんですよ。で、話をリアルタイ ムに聞いて、とてもいい会社だなと思いました。

    川井 楽しみですね。

    Star Rubyについて

    川井 Ruby会議でプレゼンをするStar Rubyについて聞いてもよ ろしいですか?

    僕はスーファミが好きだったので、スーファミのような2Dグラフ ィックで豊富な描画エフェクトがあるライブラリが欲しかったんですよ。なおかつ、開発者にとって とても使いやすいものが。最初は独りよがりで作っていて、APIがどんどん変遷していったんです けど、一人で作ってると視野が狭いもので、その人にしか使えないものが出来ちゃうわけです。実 際に他の人が必要としていない機能がいっぱいあったりとか、余計なものがあったんですね。で、 友達がいてそのライブラリを使ってくれたんですけど、まあ色々文句を言ってくれるわけです。あ りがたくそれを聞いて、また文句を言ってくれて、その人の言うとおり修正していきました。そうした ら、自分にとってはベストで、かつおそらく他の人にとっても良いであろうというものが出来ました。

    川井 それは、「友達が一緒に作ってくれた」というよりは、「指摘 をしてくれた」というだけですか?

    そうです。コミッターは僕だけです(笑)本当はもっとコミッター 欲しいんですけどね。

    川井 オープンソースなんですよね?

    はい、オープンソースです。友達には、もうちょっと宣伝という か、他の何も知らない人を惹きつける何かが必要だと言われました。プログラムも大事なんです けど、プロダクトを作ったら、そのプロダクトを使うためにチュートリアルとかドキュメントがいっぱい 必要なんですよ。それが無いと誰も使ってくれないっていう。それの重要さをガンガン指摘され て、今後はそれに力を入れていこうと思ってます。

    川井 これから作るんですか?それとも原型はあるんですか?

    チュートリアルですか?まだ無いですね。

    川井 いつぐらいまでに作りたいと思ってますか?

    まだ時間がある大学院にいるうちにやりたいなと思ってます。

    川井 格好いいロゴとか出来てますか?

    ロゴじゃないですけど、このフォントでこの大きさで書けばこの イメージになる・・・っていうのはありますが、正式なロゴはないですね。

    川井 やっぱり、人を集めるにはそういうのも大事じゃないでしょう かね?

    そうですね、デザインは重要ですね。プログラムがいくら優れ てても、やっぱりそういうので不利な部分になってるのはあると思います。

    川井 ネットの世界ってあくまで、中身は見つけてもらってからの 世界で、「見つけてもらう」っていうのがいかに大事かっていうことですよね。意外と重要な入り口 ですね。いいコンテンツがあっても発見されなければ誰にも読まれないっていうのがありますよね 。

    確かにそうですね。あとやっぱり、僕はエンジニアの勉強会に いっぱい来てる人の知り合いは多分そんなに多くないほうだと思うんですけど、そういう人たちとの 人脈も重要だなと思いますね。

    川井 じゃあもうこの歳にしてプログラミング以外のものが難しいん だって気付いて取り組もうとしてるんですね。

    そうです。

    川井 凄いですね。それを30歳になってもやらないで苦労してる 人がいますから。そういう人たちは概して、30歳、35歳まで全くやらずにコーディングしかしないん ですよ。そして35歳になって、「35歳だからリーダーやってください、マネージャーなってください」 って言われても、「人と話しなんかしたことないです」「目を見て話すことも怖いです」みたいな状 態から、いきなりリーダーなれとか予算管理しろって言われて出来ないですよね。それで苦労し ちゃう。で、結局リーダーとか出来なくてまた現場に下ろされちゃう。そして、年寄りになって今度 は気力、体力も落ちてきて・・・そういう苦労をしている人が多いんですよ。それをこの歳で気付く っていうのは、凄いことだと思いますね。

    それでもまだ完全に気付いてないかもしれないです。プログ ラムは楽しくてはまりがちなので、ライブラリを使ってる友達に「もっと外に出ろ」とどんどん引っ張 られてる感じです。

    川井 あんまり今度プログラム以外のことに力が入っちゃうと、こっ ちのスキルが思うようにいかなくなったり、難しいですね・・・センスですかね。

    そうですね、あとバランスだと思いますね。

    川井 そのセンスやバランスが長けている人が成功するんでしょ うね。でも周りに笹田さんみたいないろんな先輩がいるわけだし、いろんな意味でアドバイスをし てもらえるし、いいんじゃないですかね。

    ありがとうございます。

    川井 楽しみですね。当面このStar Rubyを磨いていって、理想 のゲームライブラリーを作っていくということですね。

    フィードバックを得たら、その時ごとに考えるっていう感じです かね。

    川井 もうちょっと突っ込むと、そのゲームライブラリの良し悪しっ て、「使いやすいかどうか」以外に、機能の面ではどうですか?

    機能でいうと僕の作ってるものは、実は最小公倍数的というか 、DirectXみたいに何から何までいじれるライブラリよりは少ないんです。わざと少なくしてます。 バラエティの豊富さよりも、僕は快適さのほうが重要だと思ってるんですね。快適さというのは、こ のメソッドを呼び出した時に、裏でどんな処理が行われて、どんな結果になるか、どんな状態に なるかがすぐ分かることが重要だったんですよ。それが分からなくて、このメソッドを呼んで・・・ブ ラックボックスにメッセージ送ったけど何が起きたか分からないっていうのは、良くない設計だと 思うんですね。そういう風にならないように気をつけました。

    川井 じゃあ機能的とかよりは、効率的とか即時性とかそっちのほ うに重点を置いたということですね。

    そうです。なるべく内部状態を持たないようにするとかですね 。ブラックボックスを無くしてシンプルに・・・ですね。

    川井 他のだとブラックボックスがあるんですね?

    そこまで深く触ってないですけど、「この関数はどういう状況に は呼んではいけない」だとか、そういう暗黙の了解みたいなのがあって。まあブラックボックスでは ないか。。。知らなきゃいけない知識が結構あったりして、そういうのを無くしたかったんですよ。

    川井 特殊な例外ルールとかローカルルールみたいなのが蔓延っ てるってことなんですね。それは確かに使い勝手が悪いですよね。

    そうですね。DirectXも初期化の順番とかあったりとか、「実は こういう時これが発生するからこうしなきゃいけない」とか、そういうルールがいっぱいあるんですね 。DirectXも(以前と比べて)だいぶ簡単になったらしいんですけど、それでもまだ僕は複雑だと思 います。そもそもC++自体が複雑ですからね。

    川井 なるほど。よくわかりました。

    将来の夢と展望

    川井 他に将来やりたいこととかありますか?

    もっとプログラムやゲーム開発の敷居を下げて、みんながゲ ームを作る世界にしたいっていうか、そういう隠れた夢がありますね。

    川井 それはもっとみんなの身近にしたいっていうことですか?

    そうです。

    川井 それは今の延長っていうことですよね。今も使いやすいもの とか、快適なものとか作ってますしね。

    そうですね。描画が2D用に偏ってはいるんですけど、みんな が使いやすいものにしたいですね。

    川井 その思想ってちょっと間違えると、開発者がいらない世の中 を作りたいみたいなところもあるんじゃないですか?

    そうではないですね。みんなが開発者になれる、っていうこと を目指しています。

    川井 例えば今、HTMLが書けなくても簡単にWebサイトが作れま すとか、テキストを書くだけでいろんなページが出来ちゃいます、みたいになってきてますよね?  昔だったらホームページってそんな簡単に誰も作れなかったですけど。それが、簡単に作れる ように変わってきてるっていうのは、星さんの理想に近いのかもしれませんね。

    どうでしょうね。その人がどういうレベルを要求してるかによると 思うんですけど、単に面倒臭いから管理するサイトを作りたいという場合はXOOPSとかを使います よね。もうちょっと細かくやりたいとかいう場合は、Ruby On Railsとか使いますよね。もちろんそう いう段階はあると思うんですよ。その話をゲーム作りに置き換えた場合も、もちろん同じような工 程が出てくると思うので、状況に応じて変えていけばいいと思いますね。

    川井 例えば、開発者の人がより便利にっていうよりは、普通の人 でも作れちゃうようにしていきたいっていうことなんですよね?

    そうですね。そういう意味ではRubyも相当プログラムの敷居を 下げたと思うんですよね。

    川井 プログラムをかじった人なら、誰が見ても意味が分かります からね。他の言語とか見ると、何書いてあるのかさっぱり分からないことが往々にしてありますけど 、Rubyはまだ分かりますよね。

    Ruby会議の発表でもあったんですけど、東大生にRubyを使 って情報科学を教えたっていう発表があったじゃないですか。それでも良く分かんない文法エラ ーが出たって"end"が足りないから出たっていう報告あったりとか......そういうところは、まだ頭の いい人でもプログラムは難しいもんだっていうのがありますよね。それの敷居をなんとか下げられ ないかなと思ってます。

    川井 Rubyみたいなのを考えると、普通日本語で考えたものが 勝手に自動的にプログラミングされるみたいな、そういう時代が来てもおかしくないんじゃないかと 思っているんですけど、どうでしょう?

    うーん、難しいです。日本語に近いプログラミング言語はある んですけど、でもやっぱりプログラミング的な「お作法」の上で書かなきゃいけないので、自然言 語で普通の文章を書いてそのまま・・・っていうのは相当先の話だと思います。

    川井 でも最後はそこに行かないと一般人は使えないですね。

    まあ、そうですね。難しいですね。

    川井 結構あれですね、みんなのためにみんなが使いやすい、作 りやすい、快適な環境を・・・っていうコンセプトがあるんですね。

    そうですね。

    川井 でも、なんででしょう。星さんはプログラミング習得に際して 、苦労はそんなにしてないですよね。自分が苦労したっていうのはありますか?

    いやあ、苦労はした・・・かな?うーん、やっぱり不満点はあっ てそれを改善したいっていうのがあって、僕はこのライブラリに対してこういう不満点があるし、こ れはきっと他の人も同感だろうっていうのがやっぱりあって、その考えの下でライブラリを作ったん ですよ。で、実際に好評価を得られてそのフィードバックが嬉しかったんですね。それがあったの で苦労は感じませんでした。プログラムを作ってて一番嬉しいのは、僕は他の人に使ってもらって のフィードバックなんですよ。

    川井 なるほど。それが「みんなのため」っていうモチベーションに なっているという感じですね。

    そうです。やっぱり技術をとことん追求する人は、凄くマニアッ クなことをしてそれが凄いんだっていう、それがフィードバックになってる人もいるんですけど、僕 はどちらかっていうとそうじゃなくて、実際に使ってもらった人からフィードバックを得るのがいいな と思ってます。

    プログラミングを楽しむためのメッセージをお願いします

    川井 では最後に、プログラミングを楽しむためにはこうするといい よ、こう考えるといいよ、というメッセージをひとついただけますか。

    同じ趣味の友達を見つけて、その人と刺激しあいながらやる のが一番長く続くんじゃないかなと思います。例えばさっきの話みたいに自分の作ったライブラリ を見てもらうとか。ペアプログラミングもいいですね。人間っていうのは、やっぱり自分のやったこと に対してなんか外からフィードバックを得られないと、まったく面白くないわけです。同じ趣味の友 達が二人いて、ペアプログラミングなりお互いのプログラムを見せ合ったりすると、お互い刺激に なっていい循環が生まれると思うんですよ。そうするとお互いスキルが向上していくんじゃないか なと思います。

    川井 これって、自分とそんなにレベルが違う人だと難しいと思うし 、人を間違えても難しいと思うんですが、同じ趣味嗜好で比較的近いレベルの人っていうのは、ど ういうところに行くと見つかるんでしょうか。

    やっぱり積極的にオフ会とか勉強会に行くのがいいんじゃな いかなと思いますね。僕自身勉強会は実はそんなに行ってなくて、ライブラリを見てくれる友達も たまたま行ったオフ会で知り合った同じ趣味の友達だったんです。学校の生活よりも、インターネ ットのコミュニティに参加して探したほうが、同じ趣味で同じレベルの人は見つけやすいんじゃな いかなと思います。

    川井 わかりました。本日はどうもありがとうございました。

    こちらこそありがとうございました。

  • プロフィール星一(ほしはじめ)氏

    1985年東京都生まれ 本名:同じ
    横浜国立大学電子情報工学科卒業、東京大学大学院情報理工学系研究科創造情報学専攻
    Ruby用ゲームライブラリ「Star Ruby」開発、公開http://www.starruby.info/ja/

ページトップへ