更新日:
これまでのプログラミングの変遷を振り返り、2020年代以降の展開を考えるため、Ruby創始者・まつもとゆきひろさんにIT WORKS@島根 初の単独インタビューを実施しました。
①プログラミング言語Rubyの今日まで、そして明日から
②地方のこれから、ITエンジニアのこれから
③教育現場におけるプログラミング、Rubyのこれから
の3回にわたって連載します。まつもとさんによる次世代エンジニアへのメッセージとはーー。
――Rubyが生まれてから26年が経ち、世界的にも普及しました。オランダの会社が2017年9月に発表したプログラミング言語の人気ランキングでは、150ほどある中で10位にランクインし、過去には7位になったこともあります。改めて、Rubyはどういった目的で開発されたのでしょうか?
まつもと 実は、はじめから明確な目的があったわけではありません。もともと趣味でつくり始めたので、最初から大きなことを考えていたわけではないんですよ。
その前に、まず私がプログラミングに興味を持ったきっかけからお話ししますね。あれは今から40年ほど前、私が中学生のときでした。父親がポケットコンピュータを買ってきて、それをいじるのに夢中になったのが始まりです。それからいろいろと調べていくうちに、「もしかしたら自分でも言語をつくれるんじゃないか」。そう思うようになりました。
そして高校生のとき、ある本を見つけます。『やさしいコンパイラの作り方』という本です。ただ、中身が難しくて、当時の私の知識ではまったく歯が立ちませんでした。それもそのはず、それは大学生向けの本だったんです。
それに、当時は言語をつくるにしてもコンパイラ(※)だけで20万円近くしたので、高校生の私には到底手が出ません。それでどうしたか。仕方なく、ノートに「私の考えた最強の言語」といった感じで手書きで構想などを書きためていったんです。それがRubyの原型になったというわけです。
――それから約10年後の1993年、Rubyの開発を始めることになりますね。
まつもと Rubyは新参者のイメージがあると思いますが、「Java」が初めて公開されたのは1995年ですから、実はJavaと同じくらい古い言語なんです。
Rubyを開発するにあたって私が大事にしたのは、「楽しくプログラミングできる」ことでした。その当時から、すでに世の中には優れたプログラミング言語がたくさんありました。ですから、同じ土俵で戦うのではなく、先輩である「Perl」や「Python」の代わりになるような言語をつくろうと考えました。
その1つのアプローチが、「楽しくプログラミングできる」こと。なぜ「楽しく」なのか。それは私自身の経験から、プログラマの気分が生産性を上げることに直結していると思ったからです。プログラマの気分に焦点を当てるような話は当時少なかったんですが、自分と趣味の合う人が使ってくれるのではないかと考えました。
そして1995年、Rubyはオープンソースとして公開され、2004年にはWebアプリケーションフレームワーク「Ruby on Rails」が登場し、その後急速に使われるようになります。
――ところで今、まつもとさんは島根県松江市に住んでますね。そもそも、どうしてここに住むことになったのでしょう?
まつもと 松江市に来たのは1997年ですので、もう20年以上前のことになりますね。今、私がフェローを務める株式会社ネットワーク応用通信研究所(松江市、略称:NaCl)が創業の準備をしているときに、「一緒にやらないか」と誘われたのがきっかけです。
当時、NaCl代表の井上(浩)が、島根在住の仲間たちとオペレーティングシステムLinuxでソフトウェア開発をサポートする会社を起業しようとしていたそうです。そのうちのメンバーの1人の生越さんが私と付き合いがあり、隣の鳥取県で育った私にメールをくれたんです。
当時は名古屋にある会社に勤めてたんですが、ちょうど転職を考えていた時期でした。ただ、Linuxなどのオープンソースソフトウェアをベースにして働けて、私のスキルが使えるような会社が当時はあまりなかったんです。そんなときに、誘いのメールが来たわけです。オープンソースのシステムプログラミングができる、フリーソフトウェアベースの仕事ができる。そう思って松江に行くことにしました。
ちなみに誘ってくれたメンバーの生越さんとは、彼がつくるソフトウェアをオンライン上で私がアルバイトで改善したりする関係でした。
――会ったことはないけど、つくっているもので繋がっていたとは驚きですね。
まつもと そうですね。ただ、インターネット上ではお互いある種“有名人”だったりして。当時は私もすでにRubyをつくってましたし、生越さんもlinux.or.jp(現・一般社団法人日本リヌックス協会のサイト)のサーバーメンテナンスをしてたんですよ。
――その頃は、Rubyを仕事としていましたか?
まつもと いいえ、1997年当時はまだRubyが仕事になるという認識はありませんでした。普通にソフトウェア開発をするつもりで松江に移ってきたので、「時間の合間にRubyをやってもいいですか?」くらいの感じでしたね。
――Rubyを初めて仕事で使ったのはいつ頃ですか?
まつもと 会社で初めてRubyで売上が立ったのは、2000年頃ですね。その前の1999年に『オブジェクト指向スクリプト言語Ruby』という本を出版し、それが15,000部以上も売れたので「これはいけるかもしれない」という実感は湧いていました。
2002〜03年頃になると、「Webで何かつくりたい」という仕事がどんどん出てきて、その選択肢の1つとしてRubyを使うことが増えてきましたね。ただ、やはり急速に広がったのは2004年のRuby on Railsの登場以降でしょう。Rubyの仕事が会社全体でもそれなりの割合を占めるようになりました。
――島根県がRubyに力を入れ始めたのは、まつもとさんがいらっしゃったのがきっかけだと聞きましたが?
まつもと 2006年に、松江市職員の方が話を聞きに来られたのが最初の接点だったと思います。「ITで産業振興したい」と。ただ、「ITで産業振興」といっても、他にも同じように取り組んでいる地域はありますよね。それで市が松江ならでの特色を調べたところ、Rubyやオープンソースに取り組んでいるネットワーク応用通信研究所の存在を見つけてくださったようです。その翌年に、県知事が溝口(善兵衛)前知事に変わったのをきっかけに、島根県も本格的に取り組むようになりました。
――その頃には、もうRubyはビジネスとしても広まっていましたか?
まつもと そうですね。2007年は、日本でRubyの第1次ブームが起きた頃なんです。仕事でRubyを使う人たちがどんどん増えてきて、大企業もRubyを採用し始めました。私が理事長を務める一般財団法人Rubyアソシエーション(松江市)の母体が設立されたのも2007年です。そういう意味では、島根県がRubyとオープンソースソフトウェアを軸に打ち出したタイミングは、とてもよかったと思います。
――今こうしてRubyが盛り上がっている要因には、コミュニティの盛り上がりがあると思います。どうしてうまくいったのでしょうか?
まつもと 振り返ってみると、人の出会いが重要でした。「Rubyがすごく気に入ったから、他の人にも紹介したい」「Rubyを中心にしたイベントをやりたい」。そういう人たちとの縁が大きかったですね。そもそもいいモノでないと人は集まってこないでしょうから、自画自賛じゃないですがRubyが評価されたというのはあると思います。
それと、Rubyには「関わりやすい環境」があったのも大きかったと思います。オープンソフトウェアなので、「もっとこうしたらいいんじゃない?」と誰でも提案できたり、直したりすることができる。最初は私1人でつくってたんですが、今では100人以上がRubyを直接書き換える権利があります。修正提案をした人も含めると、おそらく何百人、何千人と広がっています。
――Rubyがどんどん普及し、コミュニティも盛り上がる中で、まつもとさん自身の役割には何か変化はありましたか?
まつもと そうですね、役割は変わってきたかもしれません。自分自身で手を動かすことはだいぶ減ってきて、言語のデザインやプロダクトの方針を決めることに時間を割くことが多くなりましたね。言語デザイナーやRubyのプロダクトマネージャーというポジションの比重が、昔に比べると随分と増えてきています。
その分、Rubyのコミュニティ内にコードをバリバリ書く人たちがかなり増えてきました。私が仕様などを決めたら、その後は他の人が引き継いでくれる。Rubyが成長するにつれてそういう動きが生まれ、私自身の役割も変わってきたと思います。
それと、Rubyそのものが複雑になってきてユーザーも増えているので、いろいろと考慮すべきことも増えてますね。
――Rubyが広がることで、利用者からいろんな要望が出てくるようになったわけですか?
まつもと はい。既存の機能を変更したときに、影響の及ぶ範囲がだいぶ広くなってきたからです。すでに世の中の様々な業務で使われているので、「これくらいなら大したことないかな」と少し修正を加えただけでも、あちこちで大惨事が起こることも考えられます。そのあたりは特に気を使うところですね。
――Rubyのコミュニティを維持するために意識されていることはありますか?
まつもと オープンソースソフトウェアのコミュニティですので、そこに所属する義務があるわけではありません。給料を払っているわけでもなければ、入社式があるわけでもない。同時に複数のコミュニティに所属しても構わないわけです。
もちろんそれが大事なポイントの1つなわけですが、もしRubyに魅力がなくなったら、どんどん他のコミュニティに移ってしまう可能性がありますよね。つまり、ソフトウェアとしての魅力を常に打ち出していかないといけません。「仕事で使える」ということも大事ですが、もう1つは常に改善や進化を続けて、どんどんアップデートしていくことが重要だと考えています。
一方で、すでに動いているRubyをベースにしたソフトウェアもあり、それが壊れてしまうことは避けないといけません。進化も大事、互換性も大事なので、両側が切り立った狭い崖道を、全速力で走るような人生ではあるんですが、その分刺激的でチャレンジングでもありますね。
――そういう意味では今年(2020年)、バージョン3の「Ruby 3.」をリリースされるのは大きなチャレンジですね。
まつもと その通りです。今までのものを壊してはいけないし、でも進歩し続けないといけない。そのための大きなチャレンジです。
――大きなアップデートということでは、過去にも経験があると思います。それが今回生かされる面はありますか?
まつもと 過去に大きなギャップがあったのが、1.8から1.9へのバージョンアップでした。このときは過去の互換性をだいぶ切り捨てたりしたので、コミュニティ全体で移行するのに5年以上かかったんですね。新しいバージョン1.9が出ても、1.8以前のバージョンを5年も使い続けた人がいたわけです。
その経験を踏まえて、バージョン2.0にするときは、機能的に大きな変化や非互換性は入れないようにしたんです。2019年にバージョン2.7を出し、今年3.0にケタを切り替えるわけですが、大きな非互換性はあまり入れずに、今まで動いているものが壊れるようなものにはしないように意識しています。
お知らせ
まつもとゆきひろさんがフェローを務めるNaCl(ネットワーク応用通信研究所)の求人情報あります。
島根エンジニアとして働きたいと思ったら
「IT WORKS@島根」に登録。
島根県内の最新求人情報の紹介や、
定住までバックアップをします。