1. Qiita FM-エンジニアのキャリアを深掘り-
  2. #74 Matzのキャリア史|趣味か..
2025-10-07 33:28

#74 Matzのキャリア史|趣味から世界の言語になるまで【ゲスト:Rubyの生みの親・まつもとゆきひろさん】

spotify apple_podcasts

今回からのゲストはRubyの生みの親・まつもとゆきひろさんです


<トークテーマ>

・プログラミングの原点:15歳で出会ったポケコンとBASIC

・コンピューター雑誌で知った「技術・環境」への憧れ~大学、そして自由で裁量あるファーストキャリアへ

・転機は1992年バブル崩壊――「Ruby誕生」の背景

・公開は自然な選択:先人たちのフリーソフトウェアから学び、文化に還元

・役割の変化と葛藤:プレイヤーからコミュニティリーダーへ


<まつもとゆきひろさんX(Twitter)ページ>

https://x.com/yukihiro_matz


<X(Twitter)ハッシュタグ>

#QiitaFM


<番組へのメッセージはこちらから>

https://forms.gle/K9HyUGy7phDBGpht7

See Privacy Policy at https://art19.com/privacy and California Privacy Notice at https://art19.com/privacy#do-not-sell-my-info.

サマリー

Rubyの生み親である松本由紀宏氏は、自身のキャリアやプログラミングにおける原体験について語ります。彼はRubyのデザインや開発に関与し、技術顧問としても活動し、プログラミングの楽しさとその重要性について考察しています。大学時代にプログラミング言語への興味を持ち、Rubyの開発に至る経緯についても説明します。彼のキャリアは、大学卒業後のソフトウェア開発企業での経験や、バブル崩壊後の厳しい状況の影響を受け、その中でRubyプロジェクトが始まりました。ポッドキャストエピソードでは、松本由紀宏氏のキャリアに焦点を当て、どのようにしてRubyを開発したのか、その過程やコミュニティとの関わりについて紹介されています。また、オープンソースソフトウェアの文化と、それに影響を受けた彼の決断についても触れられています。このエピソードでは、松本由紀宏氏がプログラミングのキャリアやmRubyの開発について語り、コミュニティの重要性やプログラマーとしての成長についても言及されます。

松本ゆきひろのキャリア
日本最大級のエンジニアコミュニティQiita、プロダクト開発部部長の清野俊文です。
この番組では、日本で活躍するエンジニアをゲストに迎え、
キャリアやモチベーションの話を深掘りしながら、エンジニアの皆さんに役立つ話題を発信していきます。
はい、ということで今回からのゲストは、Rubyの生みの親であるMatzこと松本ゆきひろさんです。よろしくお願いします。
はい、よろしくお願いします。松本です。
はい、よろしくお願いします。QiitaはRubyも使ってますし、
松本さんにはお世話になっているので、本当に今日はありがとうございます。
はい、よろしくお願いします。
はい、今日松本さんで大丈夫ですかね、呼び方は。
好きに呼んでいただければいいと思うんですけど、松本でも松でも、他の人と区別がつけば大丈夫です。
はい、ありがとうございます。
1回目にお送りするテーマは、松のキャリア史、趣味から世界の言語になるまで、です。
はい、ということでですね、1回目はですね、松さんの今までのキャリアについてですね、
ちょっと聞いていきたいなと思っております。
結構、いつも本当にRuby会議とかでお話はいつも聞かせていただいてはいるんですが、
そもそも松さんがこれまでどういうことをしてきたのかって、
なんていうんですかね、実はあんまり聞くシーンなかったなと思っているので。
そうですかね、はい。
キャリアのスタンダードについてですね、
もっといろいろお伺いをしていきたいなと思っております。
はい、よろしくお願いします。
松さんに聞くのはあれなんですが、今やられていることっていうのを改めてお伺いしてもよろしいでしょうか。
私ですか、今の活動としては大きく分けると、3つぐらいに分かれていて、
1つはRubyのパパなので、Rubyという言語そのものを、
デザインしたり方向性を決めたりとかいうような活動をしています。
具体的に言うと、例えば開発者ミーティングとかで、
Rubyに対するこんなふうな機能が新しく欲しいですみたいなリクエストが
割と頻繁に来るようになりましたって、
それに対して一つ一つ検討して、
これは入れる、これは入れないとかいうようなことを決めたりとかですね。
あるいは、その中に入れない、入れないとかいうようなことを決めたりとかですね。
あるいは、その開発コミュニティの中から、
こういう機能を新たに作りたいですみたいなリクエストが来て、
その結果、言語にも影響がありますみたいなケースもあるので、
その場合は、その言語変更は許可できませんみたいなことを決めたりとか、
そういう方向性を決める活動があって、
これが一番、私にとって重要な活動なんですけれども。
2番目が、長い経験を持つ、そして自前の著名なプロジェクトを持つ、
プログラミングの原体験
ソフトウェア開発者の先輩として、
技術顧問っていう肩書が多いんですけれども、
いろんな会社さんのお手伝いをして、
技術者の人とお話をしたりアドバイスをしたりするような仕事があって、
これが私の主な収入源になっています。
オープンソース活動はお金にならないので、
オープンソース活動はお金にならないので、
最後が、三永さんが使っているCLBの開発って、
開発コミュニティがだいぶ昔に比べて充実して、
だいたいソフトウェアエンジニアとして、
プログラマーとして皆さん私より優秀なので、
私あんまり口出すっていうか、
実際の行動を書くっていうところまでいかないんですよね。
でも、個人的には自分は根っからのプログラマーだと思っているので、
プログラムを書いてないとつまんないんですよ。
そういうのもあって、
10年以上前から、
mRubyっていうRubyの別芸室を作っているんですけれども、
プログラマーとしては、
空いた時間にはこのmRubyを作るっていうのが、
これもお金にはならないんですが、
このmRubyを作るっていうのがプログラマーとしての活動。
プログラマーとしては、
開いた時間にはこのmRubyを作るっていうのが、
これもお金にはならないんですが、
このmRubyを作るっていうのがプログラマーとしての活動。
だからコミュニティリーダーあるいは言語デザイナーとしての活動、
技術顧問としての活動、
その中には講演とか、
今回みたいにPodcastに参加させていただいたりとか、
雑誌の原稿を書いたりとか、
そういう活動も含んで、
最後にプログラマーとしてmRubyを開発するっていうのが、
私のメインの活動になります。
ありがとうございます。
まさにRubyの幅であり、
技術顧問であり、
プログラマーというところでいろいろされているっていうことで、
日本のエンジニアであれば、
松さんのこと知らない人はいないんじゃないかと思うんですが、
ありがたいことですね。
本当にそんなにすごい、
この業界というところを牽引されている松さんが、
まず最初に聞きたいなと思っているのが、
プログラミングを始めた、触ったきっかけと、
その当時どんな感じだったのかっていうことを
ぜひお伺いしたいなと思っております。
私が最初にコンピューターのプログラムに、
コンピューターに接したのが1977年にあるんですよ。
だからすごい昔ですよね。
その時に、50年近く前になるんですね。
その時に父親が割とガジェット好きな人で、
LKIT-16って言ってもだいぶ年寄りの人しかわからないんですけど、
当時ワンボードマイコンみたいな、
マイコンキットみたいなのが流行ってたんですよ。
それを父親が大阪の日本橋で買ってきて、
彼がハンダ付けしてコンピューター作ったんですね。
作ったら飽きちゃって、そのまま放置されていたのを、
当時小学校、私6年生ぐらいだったと思うんですけども、
16芯ダンプを打ち込んで、LEDがくるくる回ったとか言って、
わあ嬉しいみたいな感じの遊びをしたのが、
コンピューターに触れたきっかけになります。
ただその時は、16芯ダンプを打ち込んだだけで、
プログラムとは何ぞやとかよく分かっていなくて、
こういう機会があるので、っていうレベルで終わったんですね。
プログラムとして、プログラムを開発するっていう意味での
コンピューターの出会いっていうのは、その後中学校3年生の時に、
やっぱりガジェット好きの父親が、だいぶ父親の影響が大きいんですけど、
ロケットコンピューターっていうのを買ってきて、
シャープのPC1210っていう機種なんですけど、
これはベーシックが動いたんですね。
このベーシックでポチポチやるのは、
中学生にもわかったので、
初めて自分でベーシックのプログラムを組むようになって、
それが私の最初のプログラミングの原体験になります。
中学校3年生、15歳の時ですね。
高校時代と大学での専門
ありがとうございます。
もう中学生の頃からプログラミングってところに触ってたってことですね。
そうですね。
当時、ガジェットとしては存在しつつも、
そこに興味を持ったきっかけとかってあったんですか?
もともと、科学とかテック系のものに興味があったのは確かですし、
コンピューターって当時の他のおもちゃと違って、
ある意味自分で判断するんですよね。
イフ分とかアルトで大きい、小さいとか。
そういう自分で判断する、遊べるものっていうのは、
私にとって非常に刺激的に映ってですね。
あと、プログラムを書いていくと、
自分の思った通りに動いたり、
バグあったりすると思った通りに動かなかったりするんですけど、
これを見てると、ペットの犬に対して芸をしつけてるみたいな感じがして、
なんかこの機械かわいいなーとか思ったんですね。
それが原体験、最初のモチベーションになった感じがしますね。
本当に自分で触って操作ができるって面白さと、
手を加えていくっていうことでの愛着みたいな。
そうですね。言った通りに動くこいつはかわいいなって。
なるほど。ありがとうございます。
今でもあんまり変わらない気がしますけどね。
確かにRubyみたいな言語を育てていくみたいな、まさにそういうイメージですよね。
なるほど。ありがとうございます。
そこで初めてプログラミングってところを触ったっていうお話かなと思うんですけど、
そこからもずっとプログラミングをやり続けてたんですかね、今まで。
そうですね。細々とやり続けていましたが、
当時コンピューターっていうのは非常に貧弱で、
言語の選択肢があんまりなかったんですよ。
当時のコンピューターっていうのは、電源を入れるとベーシックに動く感じだったので、
ポケットコンピューターもそうですし、
その後PC8801っていう、いわゆるパソコンを手に入れたんですけど、
そのパソコンにしたところで、やっぱり電源を入れるとベーシックが動くんですね。
ビジュアルとかつかない、昔のベーシックってだいぶ今のプログラミング言語と比べて貧弱で、
ストレスを感じてたんですね。
一方、私は本を読むのがすごく好きな人で、
オンエアに入れてあってコンピューター関係の本を読んだり、
あるいは当時コンピューター雑誌がたくさんありましたので、コンピューター雑誌を見てると、
私の知らない遠く、例えば大学の中であるとか海の向こうとかでは、
もっと強力なコンピューターでいろんな言語が使えて、
その言語は今の私が使っているベーシックよりもだいぶ高級だったり、
ストレスを感じなさそうな言語が世の中にあるなと思ってですね。
自分の貧弱な環境と本の中にある優れた環境との間のギャップみたいなもの。
いつかこんな環境でプログラムしたいとか思うっていうのが私の高校時代ぐらいですね。
なるほど。そこから大学に進学されたんですかね。
はい。
そのタイミングではどういうところを専攻したりしてたんですかね。
大学はコンピューターサイエンスを専攻しました。
そうなんですね。
筑波の情報ですけど。
じゃあそこで本当に中学からプログラミング始めて、
高校時代も本だったりいろいろな情報もキャッチアップしつつ、
大学から本当に専攻として勉強を本格的にされ始めたっていうようなイメージなんですかね。
そうですね。
大学時代の学び
だから今までは自分の家にある貧弱な環境しかなかったのが、
ちゃんとしたプログラミング環境を手に入れたのは大学に入ってからですね。
ありがとうございます。
いわゆる当時のコンピューターサイエンス系の大学でどういうことを勉強されてたんですか。
いろんなことをしました。アルゴリズムのことを勉強しましたし、
普通に数学とかあって、私あんまり数学得意じゃなくて大変だったんですけど、
普通に線形代数であるとかいろいろ勉強して、
なんとかギリギリ単位をもらいつつ、
コンピューターサイエンスでは何やったっけな、
例えばアセンブラーの授業もありましたし、
今でいうミニコンパっていうのは汎用機ではないけど、
パソコンよりは大きいみたいなコンピューターが大学にあってですね、
それでPL1っていう言語とか、
あとは何やったかな、パスカルCぐらいはやりましたね。
ありがとうございます。
現代のコンピューターサイエンスでやってること自体はそんなに変わらずに、
あんまり変わらないですね。
そうなんですね。
僕の単純な印象なんですけど、
当時の情報学系って結構、
先行としてはマイナーだったんじゃないかなって気がしてて、
そんなことなかったんですかね。
ちょっとメジャーになりつつあるぐらいな感じでした。
でもそのぐらいの感じでやられた。
そうですね。だから私たちの世代だと、
先生が情報出身じゃないんですよ。
なるほど。
物理とか出身の人が多くて、
もともと物理は先行したんだけど、
計算のためにコンピューターが必要で、
そっちの方にシフトしていきましたみたいな先生が多くてですね。
もともとコンピューターとサイエンサー代わりみたいな先生は、
あんまりいなかったですね、その時は。
そうなんですね。ありがとうございます。
そこから大学で研究みたいなところも、
研究室みたいなところに入って、
やっていったりはしてたんじゃないかなと思うんですけど、
その時はどういうことをやられたんですか。
私、高校の時からプログラミング言語にすごい興味があって、
そうなんですね。
この貧弱な環境ではプログラミング言語については、
名詞句しか使えないけど、いつかみたいに思ってたんですね。
大学に入って、
プログラミング言語について、
やっと自分の自由にできるプログラミング環境が手に入ったって言って、
言語について勉強したり、
いろいろ考えたりしてたんですけど、
運よく次にあたってですね、
プログラミング言語の研究室に配属されたので、
プログラミング言語の研究を大学4年生の時はやりましたね。
キャリアの始まり
そうなんですね。
そこからある意味でRubyの原点というか、
ルーツ的なところは続いてるようになったんですね。
そうですね。
言語を作りたいモチベーションとしては当時からありましたね。
そうなんですね。ありがとうございます。
そこで言語処理系みたいなところは勉強しつつ、
ファーストキャリアとしては、もちろんRubyを作ってたわけじゃないかな
っていう気はしてるんですけど、
いわゆるファーストキャリアとしてはどういうことをされたんですかね。
大学を卒業して、院に行かないかって言われたんですけど、
私当時、家があんまり乳腹ではなかったので、
これ以上親の迷惑になるわけでもいかないなって言って、
その時点で就職して、ソフトウェア開発会社に就職しました。
この会社は自宅開発をメインにする会社だったんですけど、
当時まだバブルの末期ぐらいだったので、
かなり景気よく採用してたんですね。
2000人ぐらい社員がいる会社だったんですけど、
中堅のソフトウェア開発会社ぐらいだったんですけど、
1年に200人ぐらい採用するんですよ。
1割採用するって言ったらだいぶ正気を失ってる感じがしますけど。
かつその200人のうち、ほとんどが文系未経験みたいな。
大学時代からコンピューターサイエンス専攻しましたって人は、
6人しかいなかったんですね、その200人中。
この6人は経験者なのでって言って、
教育機関とかゼロでプログラムかけるから、
いきなりその部署に放り込まれて、
社内ツールを作るシステム部門に配属されたんですね。
ここは割と自由な部分で、
他の人たちはお客様のために一生懸命ソフトウェア開発するんだけど、
この人たちは社内のためのツールを、
自分で資料決めて勝手に作ってくださいみたいな感じだったので、
割とのんきに開発してましたね。
お前このツール担当なとか言って、
あと全部任せたらよろしくみたいな感じで開発をしてましたね。
最初からだいぶフリーだもん。
そうだったんですね。
その時は何て言うんですかね、
いわゆる開発みたいなものっていうのは、
本当にウェブ開発ではないですよね。
本当にソフトウェア開発を一部プログラマとして
そうですね、デスクトップシステムだったので、
当時ソニーのニューズっていう名前のワークステーションがあったんですけど、
そのソニーのニューズっていうのが会社の標準の開発環境というか、
技術者用マシンだったので、
そのマシンで動くデスクトップツールを作るっていう感じでした。
Xウィンドウだったので、その上で開発するんだけど、
当時、Xツールキットっていう、
Xウィンドウの上で動くためのツールキットがあったんですけど、
めっちゃ使いにくかったんですよね。
それで海外産のツールキット、
サードパーティーのツールキットを導入しようかなと思ったらですね、
それ日本語通らないんですよ。
仕方がないから海外産のやつを参考に
自分でツールキットを作って、
その上にデスクトップアプリを作るみたいなことをしてましたね。
なんか本当にフリーダム。
なるほど、本当にそういう感じだったんですね。
そうですね、やりたいことはだいたい言って、
筋が通ればやらせてもらえるみたいな環境でしたね。
エンジニアとしては仕事がフリーダムっていうところで、
材料を持って面白い仕事ができるような環境だったのかなって、
今お話ししたんですけど。
そうですね、だいぶ地球運動が高かったです。材料をたくさんいただいてました。
考えてみればその時新卒だったので、
20代前半ぐらいの新卒だったので、
それによくやらせたなっていう感じではありますが、
だいぶフリーダムでしたね。材料をいただいて本当に幸せに開発してました。
そこの幸せに開発ができてた状態から、
ある意味で確実に何かしらの挑戦をすることによって、
Rubyの開発
今のマツさんができてるのかなと思うんですけど、
いわゆるキャリアの転機というか、
それがキャリアなのか何なのかわからないんですけど、
転機的なものはあったんですかね。
1992年にバブルが崩壊してですね。
はい。
で、いきなり景気が悪くなるんですよ。
なるほど、はい。
で、私たちはその幸せな開発者なんですけど、
この幸せな開発は外貨を稼いでこないんですね。
つまり社内システムだから。
で、ちょっと会社が固めて、
これにお金を費やしてるわけにいかないっていうことで、
チーム解散になっちゃうんですよ。
ああ、そうなんですね。
で、こう、よそのチームに行って、
ちゃんとお客様からのためにソフトウェア開発して、
お金を稼いできなさいって言われるんですね、全員がね。
なんだけど、今まで作った社内ツールがあって、
誰かは面倒を見ないといけないから、
で、苦渋が良かったのか悪かったのか、
私がメンテナンスする方に残ってですね、
私ともう一人だけ残って、
で、残りの人たちはみんな外貨を稼いでいたんですね。
残された私何してるかっていうと、
あんまりやることないんですよね。
で、たまに電話かかってきて、
ご宅のツールがあんまりトラブルがあって動かないんだけどとか言われて、
じゃあその強制終了してくださいとか言って、
強制終了ももう一回やらないんだけどとか言われて、
じゃあ電源入れ直してくださいとか言って、
そういう電話がね、3日2日ぐらいかかってくるって。
で、あとはやることないんですよね。
で、幸いコンピューター取り上げなかったし、
で、暇だし、
で、あのマネージャーも、
外貨稼ぐ方のマネージャーしてるんで、
こっち見てないんですよね。
で、PCもあるし、時間もあるし、
何かやるかって言って作ったのがRubyになったんですね。
なるほど。
その時間があるときにRubyの開発が始まったんですね。
不景気は発明を呼ぶというやつですね。
その当時、
暇であれやれることって色んな選択肢が、
暇なりにやれることって色々あると思うんですけど、
その中でRubyっていう言語の開発に行った理由って何かあるんですかね。
そうですね。
やることはあんまりなくてですね、
当時の私がやったことって、
今でいうスラックみたいなツールを自分たちで作ってですね、
社内のあちこちに散らばっていた仲間たちと一緒にチャットをするとかですね。
あと、当時FJっていう、
ネットニュースっていうのがあって、
それを見て、
掲示板みたいなもんなんで、
それをずっと見てるっていうのと、
あと、でもやっぱりネットカラープログラマーなので、
読んだり話してるだけじゃなくて、
面白くないので、
何か作るかって言って、
そっちの方がRubyになった感じですね。
そうなんですね。
だいぶ、これで本当に給料もらっていいんだろうかっていう感じでもありましたけれども。
それは何かしら承認をもらってやっていた感じなんですかね。
えっとね、その時は黙ってましたね。
そうなんですね。
教育を求めるな、所在せよってやつですね。
はいはい。
裏でこっそり公開を始めたのがRubyの原点。
そうですね。
Rubyの誕生と転職
数年後に会社辞める時に、
上司に実はこんなの作ってましたって言いに行ったんですけど、
そしたら、見なかったらこうするから持っていけって言われて、
そのまま持っていったんですね。
その時、ダメだって言われたら、
それ置いていけって言われたら、
今のRubyはなかったと思いますね。
そうなんですね。
ちょっとまた次の会社で作り直したと思うんで。
別のRubyになったかもしれませんね。
なるほど。
違う、名前が同じ違う言語になった可能性がありますね。
あるかもしれません。
今、転職されてってお話があったと思うんですけど、
その中でRubyを開発されて、
何か違う会社に行かれたんですかね。
そうですね。
辞めて、違う会社に行きましたね。
景気が悪くなるとですね、
比喩すればどうするかなんですけど、
だいぶ社内の雰囲気が悪くなってですね、
このままだとこの会社は潰れてしまうかもしれないと思って、
転職を探したんですが、
そうそう、言ってなかったけど、
私、東京で働きてもなかったんですよ。
最初の会社も東京で働きたくないから、
ハンマーズで働いてたんですね。
そうなんですね。
そしたら、名古屋の会社が、
一応オブジェクト志向の専門家っていう肩書きで、
来てもいいよって言われたので、
そこで転職したんですね。
その後、いろいろあってですね、
社内で応料事件が起きたりとか、
役員が応料したとかですね。
結局、その会社今残ってないんですけど、
買収された後、完全に解消されちゃったとか、
残ってないんですけど、
それより会社が潰れる前に辞めようって言って、
辞めて名古屋に引っ越しましたね。
そうなんですね。
その中でも、お仕事はされながら、
Rubyの開発はされたっていうのか。
してました、はい。
いわゆるRubyの開発に本格お仕事になったタイミングって、
いつなんですか。
そうですね。
その後、名古屋の仕事をやめて、
松井に引っ越すのが1997年なんですけど、
名古屋の会社は3年くらいいたのかな。
辞めて松井に来たんですけど、
松井に来た後もしばらくは、
会社の仕事もするし、Rubyの開発もするし、
っていうことをしてたんですが、
どうだろうな、1997年に転職して、
多分2000年ちょっとくらいまでは、
お金を稼ぐ仕事もするし、Rubyもするし、
っていう感じだったんだけど、
2001年か2002年くらいから、
大体Rubyだけかなっていう感じになってますね。
そうなんですね。
Rubyだけかなってなるまでって、
最初の自己紹介の時もあったと思うんですけど、
Rubyっていうもの自体が、
お金自体を生み出したわけではないんですよね、
おそらく収入として。
ただ2001年、2002年くらいだと、
松井の会社も、
お客様のためのシステムをRubyで開発すると言ってましたし、
その開発してるRubyというものを作ってる人が、
自分の会社にいるっていうことが、
プラスに働く効果が出始めたのがそれくらいなので、
そのくらいからは、
松本Rubyのことをやっといて、
他の人たちはRubyを使ってお金を稼いで、
っていうふうなスタンスになってきてますね。
そうなんですね。
じゃあ途中から本当にRubyの開発自体が、
お仕事にもなっていったというような感じですね。
そうですね。Rubyの開発で給料ももらえますっていう感じですね。
なるほど。ありがとうございます。
Rubyの開発と進化
ある意味で、
一個お暇だから趣味の一個でRubyを始めたようなイメージなのかなと思ったんですけど、
最初の2つの会社では実際そうな感じでしたけれども、
そうですよね。
手が早い方だったので、
約束して、
例えば3週間かかりますっていった仕事を、
でも力入れて1週間でやって、
残りの2週間分はRubyやってるみたいな感じで仕事してましたね。
本当に仕事の中で一緒に並行してやり続けていたというような感じですね。
そうですね。
なるほど。
本業に対してすごい集中ができているわけじゃなくて、
2つやってるような感じなのかなって話聞いてきて。
そうですね。
当時の部長を聞いたら怒るかもしれないけどね。
世の中のエンジニアって結構仕事をすごい集中して、
それでいっぱいいっぱいになっちゃってる方って多いかなと思うんですけど、
その中でやり続けられていた理由って何なんですかね。
Rubyの方が楽しかったからなんですね。
そうですね。
面白かったんですね。
そうなんですよ。
やっぱり楽しい大事ですよね。
今もそこの面白さみたいなので、
Rubyの開発はずっと続けてるみたいな感じなんですかね、イメージ。
そうですね。
イメージ的には次何やってやろうみたいな感じではありますね。
そういう面白さからRubyの開発を始めて、
ある意味でどんどんコミュニティが大きくなってきて、
今があるかなと思うんですけど、
そこの中で自分自身のRubyに対しての向き合い方とか、
考え方のスタンスとか責任感とか、
そういうのって変わってはいきましたかね。
変わってはいてというのは、
最初の頃って一人で開発するんですよね。
だから変わったタイミングって多分2回ぐらい。
大きく変わったのは2回ぐらいあって、
つまり作り始めてから一般公開するまでの間って、
他にRubyのことを知ってる人いないわけですよね、
合格してないから。
その時ってやめても誰にも目をかけないわけですよ。
それでも続けるっていうのは、
ちょっとめんどくさいバグとか、
開発に行き詰まったりとかするとですね、
続けなくてもいいかなみたいなことも何回かあったんですけど、
なんでこんなことやってんだろうって思う限りですよね。
自分一人だけしか知らない、
自分一人しか使ってないツールだ、
言語なわけですから。
それでもね、
一つ一つの課題とかバグ直したりとか、
機能追加したりとかいうことが面白いなと思って続けてたら、
これぐらいやったら使い物になるだろうって言って
公開するに至ったっていう感じですね。
これが最初の段階で。
それからしばらくも、
大体メインでは私が開発して、
時々パッチいただいて、
それを取り込みますみたいな感じだったんですが、
何年かぐらいだったかな。
多分2004年か、
もうちょっと後かなぐらいに、
このバーチャルマシンの部分を、
他の人が書いたものに置き換えて、
それでRubyが何倍も速くなったりとか。
そういうのもあって、
だんだん他の人が、
僕よりもプログラマーとして優秀な人が関わってきて、
これは出なさないほうがいいかなみたいなところも増えて、
それで私が直接CRubyのコードを改善したり、
手を入れたりするようなことが減ってきて、
プログラマーとしての自分の役割がどんどん減って、
むしろデザイナーであるとか、
コミュニティのリーダーであるとか、
そういう立場のほうの割合が増えてきたっていうのは、
2番目の大きな変化だったというふうに思いますね。
ちょっとそれぞれについてご質問したいんですけど、
まず一つ目のところが、
ある意味で、
今も趣味でプログラミング言語を作っている方って結構いらっしゃると思うんですけど、
自分の勉強のためにもそうだし、
ある意味でそうやって育てていく面白さみたいなので、
作っていらっしゃる方っていると思うんですけど、
それを本当に一般の人に使える状態で、
ちゃんと安定した状態で出すみたいなのって、
それはそれで一個勇気がいるアクションなのかなと思っていて、
その時に自分が作って使うだけではなくて、
世の中に公開しようって決断をした理由というか、
そこのモチベーションってどういうところだったんですかね。
Rubyを作り始めてリリースした1990年代の前半ぐらいっていうのは、
世の中にオープンソースって言葉はまだなかったんだけど、
フリーソフトウェアを世に問うている人たちってすごくたくさんいたんですよね。
そういう人たちの行動を目の当たりに見てますし、
私自身もプログラミングの学習をしたのは、
既存のフリーソフトウェアのソースコードを見て、
こういうふうにやるんだっていうふうに勉強してきた過去があるので、
それを思うと、自分の開発したソフトウェアでしがらみがない場合には、
もちろん会社のために作ったソフトウェアは公開するわけにはいかないんで、
しがらみがない場合には自分が完全に権利を保持して、
しがらみがないソフトウェアをインターネットで公開するっていうのは、
むしろ自然でそうしない理由がないというふうに思っていたんですね。
育ってきた環境というか文化っていうのは、
フリーソフトウェア文化の中で育ってきたので、
それに従ってRubyを作って、
Rubyが使い物になるようになった時点で公開するっていうのは、
私にとってむしろ自然だったっていうふうに思いましたね。
本当にいわゆる今で言うOSS文化というか、
オープンソースの文化
先人が作ってくれたものを自分たちももちろん使うし、
それを作ったものは出せるなら当然のように出していくみたいな、
そこの雰囲気みたいなのも当時からずっとあったっていうのは。
なるほど。ありがとうございます。
そこから次、自分が直接手を動かさずに、
コミュニティでコントリビートしてくださっている方たちに任せていくっていう、
ある意味でプレイヤーからコミュニティリーダー的な振る舞いに変わっていくっていうタイミングだったのかなと思うんですけど、
そういうのってあるあるの話で言うと、やっぱり手を動かしたくなっちゃうとか、
やっぱり自分がそこを離れきれない、どうしても手を動かし続けちゃうとか、
そういうのってタイミングとして結構あるあるの悩みとしてあるんじゃないかなと思うんですけど、
当時ってそこのちゃんと任せるみたいなのはスパッと決められたんですかね。
いやあんまりなくてですね、
ただ例えば新しくできた、新しく入れ替えた他の人が作った、
まさささんと人が作ったバーチャルマシンとかですね、
できはいいし実際に早いんだけど、実装が複雑って言っていいのかな。
正直一目で見てはすぐに分かってすぐ手入れられるって感じではなくてですね、
こう自分のプログラマーとしての限界を感じるというかですね、
ちょっと手が出ない部分が多いんですよね。
現在だとC Rubyの実装のだいぶ多くの部分がですね、
私が手を出して良くなるイメージがあまり浮かばないっていうかですね、
出来が良すぎたり、アルゴリズムが高度すぎたりとかしてですね、
ちょっと手が届かない感じがする部分が結構多いですね。
そうなった時にちょっとこれは私は手出さない方がいいんじゃないかなっていう感じになってきたのが、
ちょっとプログラマーとしてですね、
C Rubyに対するプログラマーとしての画像がフェードアウトしていった原因でありますね。
で、割とそれからあと早い時期に、いろいろ多くあるんですが、
mRubyの開発2010年に始まっているので、
完全に手を引いたのいつだったかな。
多分数年ぐらいはちょっとモンモンとしてたんですけど、
2010年からあとはmRubyのメインプログラマーとしてずっと活動しているので、
過去10年、15年ぐらいはですね、
コミュニティー代表としてのC Rubyに書くと代わりと、
それからプログラマーとしてのmRubyの代わりっていう風に、
自分の中で住み上げができるようになったので、
それ以来はだいぶハッピーに暮らしてきていますね、住み上げができて。
なるほど。
じゃあ、新しい自分がアウトプットできる場所を作って、
自分自身も移行ができたから気持ちよく、
そこら辺を任せることができるようになったっていうのは。
そうですね。
俺がmRubyとかなくて、
自分の打ち込めるソフトウェアとして、
プログラマーとして打ち込めるものがなかったとすると、
もうちょっと違う、ちょっとうくつな状態になってたかもしれませんね。
ある意味で、やっぱりそれ自体を作っていくっていうのも
一個目的としてはあったんですかね。
やっぱりそういう自分自身も手を動かしていきたいなみたいな。
もともとプログラミングが好きなので、
それも楽しいので、
その活動が何らかの方に取り入れられるっていうのは、
ちょっと辛い感じがしますね。
自分とって辛いなと思いますね。
まつさん、今日はありがとうございました。
コミュニティの重要性
まだまだお話ししたいないので、
次回もまつさんとお送りします。
ということで、今回はまつさんのこれまでのキャリアのスタート、
プログラミングのスタートってところから、
今までのところ、いろいろお伺いをしていきました。
Rubyが開発された当初、
僕は生まれる全然昔だったかなとは思っていて、
当時どんな感じだったんだろうなっていうのを
いろいろ気になってお伺いをしてきたんですが、
コンセプト的なところってコンピュータサイエンスもそうですし、
世の中に自分が作ったソフトウェアを公開していくみたいなところの考え方とか、
そういうのはやっぱり今と実はそんなに変わらずに
ちゃんと続いてきているんだろうなというふうに思いましたし、
今そういうのが当然のようにやられているのも、
まさに当時の先人の方たちがいろんなそういう文化を
今まで継承してくれていたおかげなのかなというのは
すごい感じました。
僕もいつかそういうのを継承していく側には
なっていくのかなと思うので、
今日いざいざとお話を参考に
僕もこれからもいろいろ頑張っていきたいなと思います。
ありがとうございました。
さて、この番組では感想や
次回ゲストへの質問、リクエストなどお待ちしております。
番組詳細欄にあるリンクよりお気軽にご投稿ください。
Xではハッシュタグ、聞いたFMを付けてポストしてください。
表記は番組名と一緒でQFMが大文字、残りは小文字です。
そしてApple PodcastやSpotifyのPodcastでは
レビューもできますので、こちらにも感想書いてもらえると嬉しいです。
Kiita株式会社は、エンジニアを最高に幸せにするというミッションの下、
エンジニアに関する知識を記録、共有するためのサービス、
Kiita社内向け情報共有サービス、Kiitaチームを運営しています。
ぜひカタカナでKiitaと検索してチェックしてみてください。
来週も火曜日の朝6時に最新話が更新されます。
番組のフォローをして最新話もお聞きください。
お相手はKiitaプロダクト開発部部長の清野俊文と
松本幸弘でした。
ありがとうございました。
33:28

コメント

スクロール