Ruby on Railsコミッター松田明氏×RIZAP若手エンジニア座談会〈2/3〉
Rubyの魅力は
「言葉を話すように書けること」
――先ほども少しお話がありましたが、ここからはプログラミング言語としてのRubyの魅力について話し合っていただければと思います。若いRubyist(※Rubyを使う人のこと)である梅田さんや大塚さんは、ずばりRubyについてどんな印象をお持ちですか?
大塚:そうですね。私はPythonから入って次にJavaを勉強したので、それらと比べてやっぱり直感的だなっていうのがよくわかります。
松田:そうですね、うん。
大塚:変数とかがもうオブジェクトで、その後ろにメソッドつけられて、まるで言葉を話しているように書けたっていうのが非常に感動的だったというか。
そもそも自分がなぜRubyを選んだかというと、友人が熱狂的なRubyistだったんです。
上長の佐藤さんもそうですけれど、Rubyをやっている人ってどんどんその楽しさにはまっていくみたいなんですよね。
松田:そうなんですよ。プログラミングっていう作業自体は結構やっぱり単調なんですよね。
それが仕事ともなると、この先30、40年続けなきゃいけないので、そのプロセス自体は楽しいほうが絶対いいじゃないですか。それがモチベーションになるので。
梅田:本当にそうですよね。書いていて楽しくなかったら、もっと単調な仕事だと思ってしまったかも(笑)。
〜Ruby超豆知識〜
本当の誕生日は2月23日!?
――そんなRubyも誕生してもう30年近くたつそうですが。
松田:はい。実はちょうど先日、30歳の誕生日を迎えました。公式設定では93年の2月24日が誕生日なんです。
言語の誕生日に厳密な決まりはありませんが、まつもとさん(※Rubyの開発者・まつもとゆきひろ氏。通称Matz) が言っていたのは、言語を作りたい、というのは前から思っていた、と。だけど、そのもやもやとした思いに形を与えた瞬間というのは、すなわち名前をつけた時だから、Rubyという名前にしようと決めた瞬間がRubyの誕生日なんだそうです。
それが93年の2月24日。その時点ではRubyのソースコードは1行もありませんでした。
あとは本当にどうでもいいマニアックな話をすると、Rubyの名付け親はまつもとさん本人ではなく、当時同僚だった石塚圭樹さんという人です。
しかも後年、圭樹さんが過去のチャット履歴をあさっていたら「Ruby」と名前をつけたのは23日だったことが発覚したのですけど、もはや訂正もできず、今も2月24日が誕生日という設定になっています。
梅田&大塚:笑
――長い歴史を感じますが、Rubyもすでにレガシーとなっているのでしょうか。
松田:いえ、言語って結構ライフサイクルが長いんですよ。
COBOLやLISP、あとFORTRANですね。それにC言語とか。この辺が1950、60年代に作られて今でも使われているので、そう考えると70年とか80年とかは使われるものなんです。
――では数あるプログラミング言語の中で、Rubyは今どの立ち位置にいるとお考えでしょうか?
松田:それはね、もう成熟しきったいい大人だと思います。
そうやってプログラミング言語は長く残るいっぽうで、Webアプリケーションフレームワークに関してはRailsのように20年近く続いているものはすごく珍しい、というか人類史上初なんです。
Webの世界は日進月歩で、出ては廃れての繰り返し。4〜5年も使われたら消えるものだったので、そうした中においてRailsはもう最長寿。しかもいまだに一線級で使われて、新しいバージョンが出るたびに変わり続けているし、時代の最先端であり続けているという本当にすごいプロダクトなんです。
実際に現場のサービス開発に使われているもので、そこからのフィードバックを取り入れながらどんどん進化しているので、時間が経っても古くならないんですね。
――Rubyは日本生まれ、かつ「書いていて楽しい」というのが特徴であるいっぽうで、Railsも、今もなお進化し続ける珍しいフレームワークなのですね。
Ruby on Railsの登場によって
Rubyが世界中に広まった
――こうやってまた若いRubyistが増えていくことについて、松田さんはどう思われますか?
松田:若い人が入ってこないと言語は死んでいくだけなので…。
実際に、「Rubyがもっとよくなっていくためには初心者の存在が一番必要です」という話があるんですよ。
コミッターたちが言語処理系をチクチクチクチク改善していくことよりも、新しい人たちがRubyにどんどん入ってきてくれて、コミュニティ(※)がどんどん回っていくっていうことがすごく大事なんです。もちろん、改善は改善でやるんですけどね。
「もうおじいちゃんしかしゃべってません」みたいなことになっちゃったら、新機能とか追加してもユーザーに届かなくなっちゃうので、それは言語の死を意味しますよね。なので、新しいユーザーが入り続けてくれる限りはまだRubyは死なないっていうことになるんです。
――黎明(れいめい)期というか初期の頃のRubyistと、若手のRubyistとで、属性や傾向に違いを感じることはありますか?
松田:基本的にRubyの歴史の中で一番大きな変革期っていうのはRuby on Rails (以下、Rails)が登場したっていうところなんです。それもかれこれ20年近くたちますが、RailsができるまでのRubyって、ほとんど誰にも知られてなかったんです。
梅田:そうだったのですね。
松田:はい。日本という極東の島国で作られて、一部のマニアが細々と触ってただけのすごいニッチなソフトウエアだったのが、 Railsの登場によって世界中の人が触るようになりました。なので、やっぱりBefore RailsとAfter Railsとで客層は大きく違います。
どう違うかというと、仕事とか関係なく使うか仕事で使うか、というところですね。
梅田:かつては仕事とは関係なく使う方が多かったんですね。
松田:はい。True Hackerの人たちが触っていた時代です。やっぱりそこは雰囲気が違います。なので、当時からRubyをやっている人からは、「なんか今の人たちは、仕事でRubyやらされている風になっていてすごいね」なんていう話を聞きますよ。
――それはつまり、仕事でRubyを使おうとしている若いRubyistにも、かつてのRubyistのように純粋にRubyを楽しんでほしい、ということでしょうか。
松田:それはもちろんそうだし、Rails以前の人たちから学ぶっていうか。なんかそういう人たちってカッコイイなっていうところがあると思うので、これはぜひ彼らにも会いに行って実感してほしいところです。
Rubyistの合言葉
「Matz is nice so we are nice」
梅田:それができるコミュニティがあるというのは、本当にRubyの魅力ですよね。
松田:手前味噌ですけれど、今年の5月に「RubyKaigi」っていう、年に1回世界中からRubyistが集まるイベント、お祭りみたいなのをやりますので、そこに来ていただくのが一番いいです(※ RIZAPグループは RubyKaigi 2023のスポンサー)。
梅田:そうなんですね。
――そこでRubyの上級者たちと顔見知りになれたり、その後何か困ったことがあったらそういう方に相談することも「アリ」な雰囲気なのでしょうか。
松田:なっちゃいますね。全然アリです。
あと、やっぱりまつもとさんに会ってほしいですね。まつもとさんって、とにかくいい人なんですよ。常にニコニコしていて、怒っているところとか想像できない人なんです。
Rubyコミュニティには「Matz is nice and so we are nice」という格言があって、これはとにかくMatzが底抜けにいいやつなので、その人が作った言語をしゃべるコミュニティの俺たちもみんなナイスだ、という意味なんです。
人間はしゃべっている言語によって思考を規定されるという言語学的な仮説があります。 この仮説が本当かどうかは知らないですけれど、Rubyをしゃべってる人たちのコミュニティが楽しい雰囲気であることは確かです。
梅田:RubyKaigi、参加します…!
・・・・・・
PART3ではプロダクト開発統括1部の佐藤部長も交えて、RIZAPの開発現場のメインスタックとしてRubyとRuby on Railsを採用した理由や、それぞれのメリット・デメリットについて、さらに詳細な「開発トーク」をご紹介します!
>>>PART3はこちら
この記事が気に入ったらサポートをしてみませんか?