オフラインでも開催された「RubyKaigi 2022」

まつもとゆきひろ氏(以下、まつもと):おはようございます。

会場:おはようございます。

まつもと:声が小さい(笑)!

(会場笑)

まつもと:おはようございます!

会場:(さらに大きく)おはようございます!

まつもと:あぁ、いいですね、物理会場は。おはようございます。15分ほど遅れましたけれども、2日目を始めたいと思います。

昨日のカンファレンスはどうでしたか? 2日目もいろいろあると思うので、ぜひ楽しんでいただければと思います。

ほぼ3年ぶりの物理キーノートで、コロナの間はずっとカンファレンスとかキーノートとかも自宅からという感じでした。特に海外のキーノートが録画なので、ぜんぜん参加感がないんですよね。

例えば、2021年のアメリカのRuby Conferenceで、「キーノートで話しました」といっても、私、何日か前にPCの前で、誰もいない部屋でキーノートをしゃべって、「私のRuby Conferenceはこれで終わった」みたいな感じの参加だったので、それに比べると、やはり物理での参加というのは本当にすばらしいなと思いました。

2023年からは、ぜひこの調子でできるといいなと思っていますし、みなさん、津のお土産をいろいろ持って帰っても、感染症は持って帰らないようにしていただければと思います。「つ(津)」。僕、目が悪いのでこれ、クエスチョンマークに見えるんですけども。残り2日のRubyKaigiを楽しんで帰っていただければと思います。

「Rubyなんか使わない」「誰も使っていない」と言ってくる“親切な人”たち

さて、松田さん(松田明氏)の代わりのMCはこれぐらいにして、じゃあ、始めます。

世の中には、インターネットにおいてすごく“親切な人”がたくさんいらっしゃるんですね。本当にありがたいことだと思いますが、いろいろアドバイスをくださったり、忠告してくださったりする方がたくさんいらっしゃるんですけれども、正直言うと多すぎて、ちょっとどうかと思うようなものもあったりするわけですね。

私がRubyを公開してわりと早い時期にメールをいただきました。そのメールには、「あなたの開発したRubyは、スクリプト言語という触れ込みで公開されましたが、スクリプト言語としてはRubyは良すぎる」とか言われたんですね。良すぎるっていうのはいったいどういうことだろう? と思うんですけれども(笑)。

しばらく後、公開したばっかりなので、まだあまり有名でないRubyに対して、別の方からコメントをいただきました。

「スクリプト言語というものにはオブジェクト指向機能は要らない」と。Rubyはオブジェクト指向言語とスクリプト言語というのがキーコンセプトだったので、暗に「Rubyは要らない」と言われているみたいでしたけれども(笑)。「あぁ、そうか」という感じのことを言われたことがあります。もう20年以上前ですね。

それから、Rubyがあまりたくさん使われなかった頃だと、「誰もRubyなんか使っていない」と。「私たちが使っているのはPerlだし、PHPだし、Pythonを使っている」と。「Rubyなんか使わない」ということを親切に教えてくださる方がいらっしゃったんですね。

それから、これはずっと続くんですけど(笑)。「Rubyにはキラーアプリがないので、Rubyの使用される領域というのは限定的だ」と言われたこともありました。

それから、これも何年か前に言われたんですけれども。「お前はRubyを作るべきじゃなかった」と。「その代わりに、今Rubyを開発しているために使われているリソースは、Perlに集約すべきだった」と。「Perlのほうがもっといい言語だし、Perlに私たちが注力したほうが、世界はもっと良い場所になっていたはずだ」と。

暗に、Rubyを作ることで世界がより悪くなったと言われているわけですけれども(笑)。はい、ありがとうございます。

あと、よく聞くやつですね。「Rubyは遅い」。

それから、わりと最近だとこんな感じですよね。Rubyは、Ruby on RailsでWebアプリケーションを書くのに非常に広く使われていたので、RubyといえばWeb言語みたいなイメージを持っていらっしゃる方がたくさんいます。実際のユースケースから見ても、そういう傾向があるんですが、「もうWebの時代は終わった」と。「これからは、人工知能とか機械学習とかWeb3とかの時代なので、そんな時代にRubyの居場所はない」と。ここには書きませんでしたが、「Rubyの居場所がない」まではっきり書いてありましたけれども、あぁ、そうですかと。

「Rubyは死んだ」(笑)。

(会場笑)

まつもと:「Rubyは毎年死んでいる」(笑)。

(会場笑)

Pythonの威を借るユーザーに「Rubyは死んだ」と言われるのはちょっと不本意

あるいはですね、「Rubyは、最近すごく流行りの言語であるRustとかZigとかGoとかPythonとかではないのでダメだ」と(笑)。

そういうふうに言われると、なんかイライラするわけ(笑)。わざわざ言わんでもええがなと思うわけですね。

しかしですね、Rubyの悪口を言われたからイライラする、というのは確かにあるんですけど(笑)。イライラする理由はそれだけじゃなくて、フェアな批判ではないからですね。

例えばRubyは、この点で機能が足りないとか、あるいは、Rubyにはこういうことが足りないから。例えば「ツールが足りないからなんとか」とか、あるいは、Rubyの性能がこのアプリケーションについて十分ではないので良くないとか、そういうデータに基づいた批判は、まぁ、わかりますと。 

あるいは、例えばグイド・ヴァンロッサムさん、Pythonを作った人に、自分の作ったツールを自慢されて「Pythonのこのすばらしい機能がRubyにはないよね?」って批判されたら、「そうですね、わかりました」って言うと思います。

実際に私は何回かグイドに会ったことがありますけれども。フレンドリーな対話ができていると思うので、たぶん彼はそういうタイプの批判はしないと思うんですけれども。

そうじゃない人、Pythonを作ったわけでもないし、Pythonのツールを作ったわけでもない人たちから、ただ単に自分がPythonを使っているから、そしてPythonのほうがRubyよりも人気が高いからという理由で、「Rubyは死んだ」とか言われるのはちょっと不本意なわけですね。

どっちかというと、そういう人たちに対して、虎の威を借る狐というようなイメージを感じてしまうわけですね。Pythonの威を借るユーザーっていう感じですかね。その人が主流派のツール、より人気の高いツールを使っているからといって、その人が実際に優れているかというと、そういうわけではないんですね。

Rubyの価値は生産性(Productivity)が高いこと

私たちはノイズとかを気にしないで、価値について今日は考えたいなと思うんですね。

このスライドを準備していて発見したことは、価値を表す言葉の多くは「y」で終わるということですね。

例えば「Ruby」。

(会場笑)

ルビーは非常に高い宝石というのも、Rubyの名前を決めた1つの理由だったんですけども。

「Productivity」、生産性が高い。Rubyは生産性が高いとよく言われます。生産性が高いから、特にRails、DHHとかは「Ruby on Railsを小さなチームでソフトウェアを開発できることがファーストゴールである」とはっきり宣言しています。

最近、特にビジネス系のWebアプリケーションの肥大化が大きくて。例えばフロントエンドをJavaScriptでガリガリ開発して、バックエンドはRuby on Railsを使いますとなって、少なくとも2チームが必要というのが主流になっている時に、例えばRails 7で、「Hotwire」を導入することによって、バックエンドチームだけで、そこそこの見栄えのいい、ある程度インタラクティブなシングルページアプリケーションが開発できます。

それも、「小さいチームでちゃんとしたツールを開発できるのがゴールだ」というのを実現するための方法だと思うんですね。

「Rubyはいい言語だから生産性が高い」というだけではなくて、gemであるとか、Webアプリケーションフレームワークであるとか、そういうものが充実していることによって生産性が高い。それがRubyとRubyの周辺ツールの価値であると(思います)。

Rubyというエコシステム全体の価値を実現しているのは「Community」

それから、「Community」。

Rubyの価値を提供しているコアはもちろんRubyという言語なんですけれども、言語はもちろん私がデザインして、初期はほぼ私が全部1人で作っていました。最近は、私自身がCRubyのコードを開発することはだいぶ減ってしまったんですけれども。

でも、これらのツールを作っているのは、結局はコミュニティなんですね。コミュニティというのがRubyの価値の中で、最も重要なものであると思います。

RubyのコアチームというコミュニティがCRubyを良くしてくれていますし、それから、「RubyGems.org」に登録された何十万個という……いや、そんなにない(笑)? わからない、何万個かもしれませんが、何万個ものgemの一人ひとりのクリエイターが、Rubyのコミュニティに価値を提供してくれています。

使ってくださっている方によって、価値が創造されているということで、広いRubyのコミュニティがRubyというエコシステム全体の価値を実現していると思います。

「Rubyが私たちの生活を良くしている」という実感で喜び(Joy)を感じる

「Joy」、喜びですね。私にとっての喜びのうちの1つは、こうやってカンファレンスに出席して、今まで会ったこともない人に会って、その人が「Rubyを使って楽しかった」とか「Rubyで、仕事で儲けた」とか、俗っぽいものも楽しいものもいろいろありますが、そうやって感謝の言葉が向けられる時が、私にとって大きな喜びです。

また、Rubyという言語が、みなさんの生活を良くするのに役立ったり、今回もスポンサー企業としてたくさん名前を挙げてくださった企業のうちのいくつかは、私だけじゃなくて、私の家族も使っていたりするわけです。

そういうのを見るたびに、「Rubyが私たちの生活を良くしている」という喜びを感じます。

(次回へつづく)