転職・求人dodaエンジニア/トップ > 転職情報・成功ガイド > ギークアカデミー > 「エンジニアの未来が袋小路に陥らないよう「多様性」の重要性を言い続ける」(前編)Ruby言語開発者 まつもとゆきひろ 氏 |ギークアカデミー

GEEK ACADEMY 先端を走る技を、ギークに学ぶ

掲載日:2013.03.04
このエントリーをはてなブックマークに追加

まつもとゆきひろインタビュー前編 「エンジニアの未来が袋小路に陥らないよう『多様性』の重要性を言い続ける」

Ruby言語開発者 まつもとゆきひろ 氏

世界的に普及したプログラミング言語「Ruby」の開発者。
現在は、Rubyアソシエーションの理事長や、株式会社ネットワーク応用通信研究所フェロー、楽天株式会社楽天技術研究所フェロー、Herokuチーフアーキテクトとして国内外で活躍している。

Ruby開発者のまつもとゆきひろ氏に、Rubyへの取り組みや、ソフトウェアエンジニアたちへの助言を聞いた。20年間、継続してRuby言語に取り組んできたまつもと氏は、ソフトウェアエンジニアの未来を「暗いものにしない」ためには声を上げ続けることが必要だと語る。

プログラミング言語は「一生もの」の趣味

──いよいよRuby2.0の正式リリース日(2月24日)が迫ってきて楽しみにしています(注:インタビュー時点)。ところで、最近のまつもとさんはプログラマとしてはmruby(組み込み用途向け軽量Ruby処理系)のほうにより多く関わっていると伝えられていますが、実際はどうなんでしょう?
Ruby言語開発者 まつもとゆきひろ 氏Ruby1.9のリリースが2007年末なので、Ruby2.0は約5年ぶりの新バージョンということになります。

私はもうCRuby(まつもと氏らが開発を進めるRuby処理系、MRI(Matz' Ruby Implementation)と呼ぶ場合もある)には、プログラマとしては関わっていないです。VM(仮想マシン)も置き換わったし(注:Ruby1.9以降では、笹田耕一氏が開発した"YARV"がRuby仮想マシンとして組み込まれている)。とはいっても、どの機能を入れてどの機能を入れないかをメーリングリストで議論して最終判断をする役割は果たしています。
だからRubyが「私の言語」であることは間違いないですね。
──20年もRubyに関わっていて飽きることはなかったのですか?
自分でも不思議といえば不思議だけど、もともとプログラミング言語が趣味なので、大丈夫でした。
例えば20年間、趣味で釣りを続ける人はたくさんいますよね(笑)。コンピュータの世界は動きが速いので、長年続ける人は珍しいのかもしれないけれども、プログラミング言語はその中では変化が少ない分野です。もちろん、始まってすぐ消えてしまう言語も多いけれども、いったん(普及の度合いの)「しきい値」を越えたプログラミング言語は寿命が長い。
私にとっては、言語は「一生もの」の趣味みたいなものです。
──Ruby言語は、誕生時点ではスクリプティング、つまりちょっとした自動化のための言語として作られたわけですよね。今では用途が非常に幅広くなっています。
プログラミング言語の使われ方は変化していきます。Rubyの誕生時点ではWebの事は考えていなかったけど、今の主戦場はWebになっている。

ユースケースの広がりに対応してRubyとコミュニティは成長してきた

状況の変化、新しい要求は、プログラミング言語の進化の原動力になる。言語をいい方向に変化させたいということが私の趣味なので、状況の変化は新しいやり方を考えるためのいいインプットになります。新しいやり方を考えても大抵ダメなんですけど(笑)、それでも考えることが楽しい。

Rubyが好きな人はDSL(domain-specific language)、関数型プログラミングなどの新しいテクノロジーにも順応しやすい。Rubyコミュニティとしても、新しいことに取り組む人を上手に励ましてきた面があると思います。そうした新しい言語の使い方の中で、Ruby本体に取り込めるものは取り込んできた。そういう経緯があります。
──Rubyはなぜ、新しいユースケースに対応して成長できたのでしょうか?
Ruby言語開発者 まつもとゆきひろ 氏一つには、Rubyの背景にあるUNIXの文化の上にインターネットのプロトコルが発達したことがあると思います。UNIX文化はテキストの文化で、Rubyはテキスト処理が得意な言語です。インターネットのプロトコルもテキスト処理を基本としています。Webを開発したTim Berners-Leeも、UNIX文化、つまりテキスト処理の文化の延長で、HTTPやHTMLというWebの仕組みを設計しています。

インターネットとRubyの出自が近かったことが、インターネットの成長について行きやすかった理由だと思います。


もう一点、インターネットの成長に伴ってより複雑な処理が求められるようになったことも大きいと思います。Ruby言語も、他のスクリプト言語と同じで最初はワンライナーのような使われ方が多かったのだけど、Webが複雑化するに従ってもっと複雑な処理が必要になってきた。
その中で、awk言語やPerl言語とは違って最初からオブジェクト指向プログラミングの仕組みを備えていたRuby言語が有利だった側面もあると思います。
──Rubyの成長とともに、まつもとさんやRubyコミュニティの人たちも一緒に成長していったという面もあるのではないでしょうか?
そうかもしれませんね。

「オープンソースはサメ」、動き続ける言語とコミュニティ

──以前、まつもとさんから「オープンソースはサメ」という発言がありました。サメは泳ぎ続けないと死んでしまうし、オープンソースプロジェクトは新しい要素を取り込み続けないと停滞してしまう、というお話でした。
オープンソースの原動力、モチベーションの一つは「認知してもらう」ということ。
「面白いことがある」、と思ってもらいたいこと。だから適宜、新しい話題が出てくることは大事です。

その意味では、「文句ばかり言う人」もいてくれた方が面白いですね。Rubyは、今までにたくさん悪口も言われてきたけど、それはそれで歓迎なんです。悪口を言われたら、きちんと言い返すことで認知が上がる。認知してもらうことは、オープンソースコミュニティの原動力ですから。

袋小路に向かわないために、「多様性は善」と言い続ける

──まつもとさんの有名な言葉で「多様性は善」があります。これは、「選択と集中」という最近よく聞く考え方とは正反対だと思います。改めてこの言葉の意図を教えていただけませんか。
まず、多様性が許容できなければ、Rubyも許容できない、ということがあります。すでにPerlがあるのに、なんでRubyを作るんだ、と言ってくる人もいるわけですから(笑)。

Ruby言語開発者 まつもとゆきひろ 氏その上で、多様性の重要さを考えると、まずエンジニアという種族は局所最適化を求めがちです。でも、それによって大局的に危険な袋小路に陥ることがある。われわれの心理が、放っておくと「選択と集中」や局所最適化に向かってしまう傾向にある。私自身もそうです。

新しい試みの大半はうまくいかないわけです。だから多様性はコストです。でも、どの試みがうまくいくのかは事前には分からない。「このサービスは必ず成功する」とはいえない。

放っておくと集中しちゃう。だからこそ反対の事を大声で言わないといけない。

「オープンソースへの取り組みはエンジニアにとって強力な『武器』になる」:インタビュー後編へ続く

dodaエージェントサービス 専任のキャリアアドバイザーが、キャリアアドバイスから求人紹介、退職フォローまでを一貫してサポートします。ご利用になりたい方は、こちらからご登録をお願いします。はじめて退職する方のために3分でわかるエージェントサービスのメリットを紹介 エージェントサービスに登録する 3分でわかるエージェントサービスのメリット
ITエンジニア・クリエイター合格診断

無料エージェントサービスに申し込む

IT業界に精通した専任のキャリアアドバイザーが、エンジニアの転職活動を無料でバックアップします。

イベント情報

転職のプロに相談できる dodaエンジニア個別相談会

おすすめ診断コンテンツ

ITエンジニア・クリエイター合格診断

あなたの“本当の年収”や今後の“年収推移”も分かる!年収査定サービス[無料]

インタビュー、コラム

アプリケーションエンジニアのための転職力アップ法

アプリケーションエンジニアのための転職力アップ法

エンジニア特有の転職成功ノウハウや市場動向をご紹介

インフラエンジニアのための転職力アップ法

インフラエンジニアのための転職力アップ法

インフラ領域特有の転職成功ノウハウや市場動向をご紹介

業界専任キャリアアドバイザーの連載コラム Webクリエイターのための転職力アップ法

Webクリエイターのための転職力アップ法

クリエイター転職特有のノウハウ・事例などご紹介!

GEEK ACADEMY

GEEK ACADEMY

先端を走る技術を、ギークに学ぶ

メールマガジン無料配信

簡単登録で最新の転職情報、
希望の求人が届く