1. SBCast.
  2. SBCast.#100 フリーソフトウェ..
今回は、プログラミング言語Rubyを開発し、その言語をいまでもメンテナンスしている、プログラミング言語設計者であり、コミュニティリーダーであり、オープンソースエバンジェリストや各社技術顧問などさまざまな企業団体にかかわるMatzことまつもとゆきひろさんに、活動の内容や想いを伺いました。

サマリー

松本幸寛さんは、1993年に作られたプログラミング言語Rubyを開発しています。彼は自身の作ったソフトウェアを基本的にフリーソフトウェアとして公開しようという思いを持っており、フリーソフトウェア陣営で活動したいという願いを抱いています。松本さんはRubyを作り始めた当初から現在に至るまでのプログラミング言語の使われ方や進化について話しています。彼の活動はフリーソフトウェア陣営に所属しており、RubyとmRubyの開発に取り組んでいます。プログラミング言語Rubyの開発者でありコミュニティリーダーでもある松本幸寛さんの活動内容や思い、フリーソフトウェア陣営での活動について語られました。

目次

まつもとゆきひろさんの活動
まつもとゆきひろ
内心としては、OSSよりもオープンソフトウェアよりも フリーソフトウェア陣営でいたいなというふうに思うところもあるので、
フリーソフトウェアというキーワードも 追加したいところではあります。
自分の作ったソフトウェアというのは、基本的にしがらみがない限り フリーソフトウェアとして公開しようというふうに決心したんですね。
それが大学生のときに。
Rubyもそうでしたし、Ruby以外のソフトウェアについても そういうふうにしています。
フリーソフトウェアには、 返し切れない恩があるというふうに思っています。
高見知英
NPO法人・まちづくりエージェント サイドビーチシティのポッドキャスト番組 SBキャストです。
この番組は、さまざまなステージで地域活動、 コミュニティ活動をされている皆様の活動を紹介、
活動のきっかけや思いを伺うポッドキャスト番組です。
進行を務めますのは、私、サイドビーチシティにて IT利活用の支援を目的に活動を行う高道英です。
どうぞよろしくお願いいたします。
高見知英
今回のゲストは、プログラミング言語Rubyを 開発されていらっしゃいますまつもとゆきひろさんでございます。
松本さん、どうぞよろしくお願いいたします。
まつもとゆきひろ
はい、よろしくお願いします。
高見知英
よろしくお願いいたします。
それではまず簡単にではございます。 自己紹介からお願いできますでしょうか。
まつもとゆきひろ
はい、まつもとゆきひろと申します。 50代のプログラマーという感じですけども、
ご紹介に預かりましたように、 プログラミング言語Rubyを作りましてですね。
その言語を今でもメンテナンスし続けているので、 プログラミング言語設計者でコミュニティリーダーで、
あとオープンソース関係の活動もしてますので、 オープンソースエヴァンジェリストとかそんな感じの活動をしています。
あとはRubyを作った実績を変われてですね、 あちこちの企業さんで技術顧問をしたりとかですね、
いろんな企業さんだったり団体さんだったりの 委員をしたりとかしていますね。
はい、そんな感じの松本です。 よろしくお願いします。
高見知英
ありがとうございます。
そうですね、本当にいろいろなことを OSSの普及エヴァンジェリストの活動、
それと技術顧問などで活動されてるんですね。
ありがとうございます。
こちらについては以前、 自分のいくつかインタビュー記事を拝見させていただいて、
本当にいろいろなことをやってらっしゃるんだなと 改めて聞いて思っておりました。
はい、ありがとうございます。
それでは早速松本さんの現在の活動について 話を進めていきたいと思うんですけれども、
まずこのプログラミング言語、Ruby、 こちらのおまかな活動の内容、
現在どういうようなことをやっているのかな、 こちらの方をお伺いできますでしょうか。
プログラミング言語Rubyの開発と興味
まつもとゆきひろ
Rubyっていうのは私が1993年に作り始めた プログラミング言語なので、
作り始めてから今年で30年ということになります。
人生の半分以上Rubyに関わっている感じになりますね。
何で作ったかっていう質問をよくされるんですけれども、
よく想像されるのが、こういう問題を解決したいから プログラミング言語を作りましたみたいなことを期待されることが多いんですけど、
私に限って言うとそういうことはあまりなくてですね、
私自身は中学生の時にプログラミングを始めて、
割と早い時期からプログラミング言語っていうものに 関心があったんですよ。
私はもともとBASICっていうプログラミング言語からプログラミングに入門した、
今の40代50代のプログラマーはみんなそんな感じだと思うんですけれども、
ただですね、BASICの限界みたいなものも強く感じてですね、
別のプログラミング言語、当時私が勉強したのはPASCALというプログラミング言語から始まったんですけれども、
そうするとプログラミング言語によって、
今まですごい大変だと思ってたことが随分楽になるなっていうふうなことを感じてですね、
それがきっかけでプログラミング言語全般に興味を持つようになりまして、
まだ当時高校生だったんですけれども、
プログラミング言語、いろんなプログラミング言語に対して調べたり勉強したりするっていうのが趣味の一環っていう感じだったんですね。
それで、いつかプログラミング言語を作ってみたいなというふうに思ってたんですよ。
つまり、世の中にあるすべてのプログラミング言語は誰かが明治的に作ったものなので、
じゃあ自分でもできるんじゃないかなっていうふうに思ったんですね。
ただ、それ1980年代の前半ぐらいで、まだ当時インターネットとかもないですし、
田舎の高校生がプログラミングに関して入手できる情報っていうのは非常に限定的だったんですね。
手元に一般のコンピューターもないので、作りたいなと思ったけど実際に手がつけられなかったんですね。
なんですが、大学に進学してビタサイエンスを専攻して勉強しました。
それから卒業して就職してプログラマーとして働きました。経験も積みましたっていう。
それが1993年、卒業して3年目だったんですけども。
その頃にバブル崩壊があってですね、90年代の頭にね。
自分の関わったプロジェクトがキャンセルになって、
ちょっと私、間食っていうか窓際に回されたので、
時間もあるしコンピューターもあるし何か一応やるかって思ってベゲンゴを作ったのがRubyになったっていう感じなんですよね。
結局作りたかったから作った趣味の産物っていうのが最初のきっかけになりますね。
高見知英
ありがとうございます。そうですね。30年もやられていらっしゃるんですね。
本当にこの辺りの流れ、特に最初のベーシック入門からパスカルに入ってという流れが、
自分にちょっと似ているところがあって、こういうルートだったんだってびっくりしまして。
自分はもうちょっと後の方でプログラミングに入ったので、
ビジュアルベーシックから入ってパスカルを元になって作られたデルファイという環境に移ってっていう形だったので、
やっぱりそこのあたりは結構似てるなと思っていました。
当時は言語を作るほどではないんですけども、
設定ファイルの拡張したようなマクロ言語っぽいものを作ったりとかしていましたので、
そこのあたりも少し似ているかもしれないなと思っていました。
ありがとうございます。
やはりこういうところでもプログラミング言語をここで作るようになったんだっていうのは、
以前インタビューの記事とかも読ませていただいた中でそういうような話がちょこちょこと出ていて、
こういうようなところから始まっているんだなっていうのを改めて見て思いました。
ありがとうございます。
何かちょっと余裕ができたタイミングで、じゃあプログラミング言語を作るかっていうふうに至った何か理由とか、
そういうようなところも含めてお伺いできればいいなと思うんですけども、
まつもとゆきひろ
こちらはいかがでしょうか。
Rubyの特徴と開発の経緯
まつもとゆきひろ
私田舎の高校生だったので、当時の情報の入手源というのは大体書籍か雑誌しかないんですよね。
プログラミング言語に関する記事とかですね、雑誌を見ていると何ヶ月かに一回載るわけですよ、こんな新しい言語ができましたとかですね、
こんな新しい言語を作ってみましたという記事が出るんですね。
当時だとASCIIとかIOとかマイコンとかそういうだけの雑誌があってですね、
そういうのに乗るんですね。
そこしか情報源がないもんですから、
プログラミングに興味がある人のうちの10人いたら1人から3人ぐらいはプログラミング言語にすごい関心を持って、
作りたいと思うような人がいるんじゃないかなというふうに思ってたんですね、当時ね。
なんですが、私の見積もりは若干甘いっていうか、
大学入って気がついたんですけど、プログラミングしたい人って大体アプリケーション作ったりゲーム作ったりしたいんですよね。
プログラミング言語もちろん学びますけど、それっての目的があってアプリ作るためにプログラミング言語を学ぶとかですね、
作るっていうふうに思う人っていうのは、実はすごい少数派だって気がつくのがだいぶ遅くてですね、
ちょっとびっくりしたんですね。
みんなそう思うんじゃないの?って。
なんですが、気がついたのは大学に入ってからなので、だいぶ時すでに遅しいっていう感じで、
結局ですね、私のプログラミング言語好きはあまり変わらないままマイノリティとして過ごしたっていう感じで、
そういうのが現体験なので、自分のスキルが伸びて釣り合った時にはチャンスがあれば作りたいって常々思ってたんですよね。
さっきも言いましたけど、自分のスキルが伸びたのと、それから時間ができたのっていうのが、
ちょうど釣り合いアトリエが私にとって1993年だったので、チャンスがあったからこの機会にやるかって言って始めたっていう感じですよね。
その時に解決したい問題があるかとか、そういうことはあまり考えてなかったんですけど、
せっかく自分で言語を作るんだから、自分で日々使うような言語にしたいなと思ってて、
当時私はCプログラマーとして働いてたんですけど、ただその一方で手元のツールみたいなのを作ったりするのに、
シェルスクリプトでやるとか、それからパールでスクリプトを書いたりしてたので、
その辺を代替できるような言語だったら、自分の作った言語を毎日使うかなって思って、
そっちの方のジャンルの言語を選んだっていう感じではありますね。
高見知英
自分で毎日使うものを作りたいということで、
それでいわゆるコンパイルするタイプの言語ではなく、スクリプトの言語にしようというような方針が定まったんですね。
まつもとゆきひろ
そうですね。コンパイル言語っていうのは例えばOSであるとかCPUであるとかに非常に強く依存するので、
作るの難しいんですね、正直言うとね。
素人のレベルで実用的なものに到達するのは難しいんですよね。
今みたいにLLVMみたいなフレームワークがあれば別ですけど、当時そんなもんないので。
そうすると、必然的にインタープリター型あるいはバーチャルマシン型のスクリプト言語っていうのが自分のターゲットに入りやすいっていうふうになりますね。
あともう一つは、システムプログラミング言語は卒業論文で一つ書いたんですね。
あれをそれはCにコンパイル、トランスファイルして、それをCをコンパイルしてバイナリティ作るっていうタイプの言語だったんですけども、
そっちのほうは一回やったから、ちょっと違う方向に行こうかっていうふうに思ったのも、Rubyをスクリプト言語にした背景の一つですね。
高見知英
なるほど。システム系の言語はもう卒業研究でやってらっしゃったと。
まつもとゆきひろ
そういうのを作りましたね。
高見知英
確かにそういう形になるんですね。
確かにそういうところでプログラム言語、こういうようなものを作りたいというふうに伝わったということですね。
ありがとうございます。
プログラミング言語の進化
高見知英
本当に当時、書籍か雑誌でしか情報が得る機会がなかったという話については、
自分も自分がプログラミングを始めたっていうのが本当に2000年になるかならないかぐらいだったので、
その頃にはもうそういう雑誌って結構下火になってしまったっていうのなんですけど、
まつもとゆきひろ
もうインターネット時代ですかね。
高見知英
そうですね。ちょっと前の世代はそういうのいっぱいあったよっていう話は聞いたことがあります。
自分も本当にその時はインターネット通信回線がまだダイヤルアップとかその辺の時代だったので、
そんなにインターネットに接続していろいろ調べられる時間も多くなかったんですけども、
その中で話を聞いていて、昔の時代はやっぱりそういう雑誌がすごく多かったっていう話を聞いていて、
やっぱりそういうふうになったんだなというふうにちょっと思っていました。
自分はプログラミング系の専門学校に入って、
でも本当にプログラミングというのが高校3年の頃から割と好きでやっていたので、
こういうものがなんで趣味のコーナーにないんだろうなと思っていたりしたものです。
ありがとうございます。
ちなみにこのRubyで特にこういうのをやってみたいなとか、こういうのを目指しているとか、
今の時点でこういうものって何かありますか?
まつもとゆきひろ
当時思っていたのは日々セルスクリプトとかでプログラムツールを書いていたりしていたので、
それを自分の作った言語で十分実用的に使えるようになりたいというふうに思っていたんですね。
1993年頃ってワールドワイドウェブって世界のどこかに存在はしていたと思うんですけど、
あんまり一般的じゃなかったんですよね。
ウェブアプリケーションを作るみたいなものっていうのは作った当初は想定していなかったんですよね。
ただワールドワイドウェブが一般化してきた1995年以降で、
例えばPHPであるとかPARであるとか、Rubyとだいぶ性質と似た言語がよく使われるようになったので、
それの傾向もあってウェブアプリケーションをRubyで書いてみると便利っていうのが広まってきたっていうのはありますけど、
高見知英
Rubyを作り始める時点でそこら辺を狙っていたかというとそうではないですね。
まつもとゆきひろ
どちらかというと周りの方からRubyウェブに使えるんじゃないとか言われて、
そうでしたっけみたいな感じで作った本人がびっくりするっていう感じではありますね。
高見知英
なるほど、ありがとうございます。
本当に最初の方はそういうのは全く想定、そもそもまだウェブもあんまりなかった時代なので、
その想定の必要がなかったと思うんですけど、
でもそういうところからいつの間にかウェブでよく使われるようになっていったということなんですね。
ありがとうございます。
そういうようなところでウェブで注目されるようになる、
自分の作った言語が注目されるようになるっていうのは、
まつもとゆきひろ
やはり松本さんとしてもすごく感動を覚えるようなものがあったりしたんでしょうか。
自分の最初想定しなかったところまで応用範囲が広がるっていうのは正直言うと驚きでしたね。
Rubyを作り始める時って別にRubyが世界的に広まって使われるようになるかとか、
それを目指すかとかあんまり考えなかったんですよね。
広まって自分で使えればいいかみたいな。
自分の友達とかが何人とかが関心を持って使ってくれればいいかみたいに思ってて、
あんまり広まるとか考えなかったんですよね正直言うとね。
それが広まっただけでも驚きなんですけども、
それが最初想定しなかったウェブっていうジャンルで、
本当に世界中の人たちが使うようになるとか、
あるいはビジネスでエンタープライズシステムみたいなものをRubyで作るようになるみたいなことはですね、
完全に想像の範囲外っていう感じですね。
高見知英
驚きの連続みたいな感じですけど。
そうですね、本当に驚きの連続というのは本当にまさにその通りなんだろうなと思います。
ありがとうございます。
Rubyの意図と野望
高見知英
例えばこの言語を通して、
特にこういうような使われる範囲が広がっていくようになった今、
特に何かを芽生えた目的というか野望というか、
そういうものって何かあったりするんでしょうか?
まつもとゆきひろ
いや、Rubyってオープンソフトソフトウェアで、
別に使っても使うまいが、私に直接売り上げが上がるとかそんなのがないので、
使って便利だったら使っていただければいいんじゃないのっていうふうに思うんですけど、
Rubyそのものは自分がプログラミング楽しい、
自分が楽しい気持ちが増幅できるようにと思って作った言語なんで、
Rubyを選んでいただいて、
その人がより楽しくプログラミングできて、
あるいはより生産性が高くて、
望むならばそれでご飯も食べられるみたいなことがあればですね、
それに越したことはないなというふうに思ってますけどね。
高見知英
そうですね、望むならご飯が食べられるようなところに使われる、
そういうような言語になると本当にいいですよね。
本当にでも楽しい気持ちが増幅した言語っていうのは、
そこがすごく面白いなと思いました。
やはりそういうようなところから始まっていって、
ここまで来る言語ができるんだなというふうに思います。
ありがとうございます。
課題と対応
高見知英
何かこういうようなプログラミング言語の開発を通していて、
何か課題に感じたこととか、そういうものって何かあるんでしょうか。
まつもとゆきひろ
課題に感じたこと、プログラミング言語に限らないんですけれども、
たくさんのユーザーがいるといろんな背景を持った人たちが使うので、
全員を満足させるような仕様というのは不可能なんですよね。
その中でデザイン上の決定みたいなものをずっとしていかないといけないんですけど、
その時にいろんな意見を聞いたりとかですね、
あるいはトレードオフ、あちらを立てればこちらを立てるみたいなことが発生するので、
その時に優先順位を決めたりとかですね、
使う人の気持ちになってどういうふうなこと、
仕様が一番いいのかみたいなことをいろいろ考える必要があるんですけれども、
そういうのってのは多分プロダクト、ソフトウェアに限らず、
あらゆるプロダクト、あるいはユーザーのいるプロダクトを作る人、
デザインする人っていうのはみんな感じてらっしゃることなんじゃないかなというふうに思いますね。
高見知英
そうですね、やはり全ての人を満足させることができないっていう問題はありますよね。
特に本当にこうやって使う人が増えてくれば来るほど、
そのような悩みっていうのは生まれてくるのかなと思います。
まつもとゆきひろ
ただね、世の中に例えばプラミニングのRubyしかありませんっていう状態ではないので、
Rubyが気に入らない人はですね、
例えばTypeScriptなりPythonなり何なり使っていただければいいんじゃないかなというふうには思いますけどね。
高見知英
そうですね、でもそういう時に他の言語もありつつ、
場合によってはどれを使うのか選んでいただけるようになるっていうのが、
やっぱりこのプログラミング言語の会話のいいところでもあるのかなと思います。
ちなみにそういうようなところについて、
松本さんとしてどう取り組んでいきたいとか、
どういうふうな対応を今していますとか、そういうのってありますか?
まつもとゆきひろ
そうですね、明らかにRubyが足りない部分とかがあれば、
そこに対して補っていくみたいなつもりはありますね。
特に言語使用レベルだとそういうことを考えることはありますね。
例えばRubyを作り始めた1993年には、
大体のコンピューターってCPUであるいは今の言い方をするとコアが1個しかなかったんですね。
だからマルチコアとかパラレルコンピューティングみたいな概念はあんまりなかったんです。
一方、現代においては普通のコンピューターでもコアが複数ありますし、
サーバーマシンとかだとコアが何十個もあるみたいなサーバーマシンも珍しくなくなっているので、
そうするとパフォーマンス向上のためにパラレルコンピューティングするみたいなことが求められたりとかしているので、
その辺の対応についても考えていかないといけないとかありますし、
あるいはRubyで特にコンピューターを作るためにコアが何十個もあるとか、
他の言語と比べてパフォーマンスの競争をしたときに、
Rubyが勝つこともあれば負けることもあるんですけども、
プログラマーってパフォーマンス競争大好きなんで、
こういう処理をしたときに何とか言語よりRubyの遅いみたいなことを言うことは結構あるんですけど、
それが実際の仕事上に影響が出ることもあるので、
そうすると仕事でよりよく使えるためにRubyの競争をしたり、
足りないところについてはできる範囲内で埋めていくというふうなことは日々継続してますね。
高見知英
なるほど。ありがとうございます。
足りないところがあれば、随時どんどん大きくなっていくということですね。
確かに当時2000年入ってすぐの頃とかは、
自分がプログラミングを始めた頃とか、
自分がプログラミングを始めた頃とか、
自分がプログラミングを始めた頃とか、
本当にパソコンの中で計算処理を行うコアの部分というのが1個しかなくても、
1度に1つのことしかできないというのがほぼ当たり前に語られていましたけど、
今は複数のことができますというのは、
そんなに珍しいことでも何でもないので、
そういうような環境で、
例えば並列的に何かを行っていくとか、
そういうような対応を行っていくというのは、
どの言語でも課題として出てきます。
ありがとうございます。
今そういうようなところで随時改善を行っていくというようなところが、
出てくるのは本当に重要ですよね。
ちなみにこのプログラミング言語だと、
そういうようなコアの部分、中枢の部分を取り囲むモジュールとか、
部品になるプログラムとかもあると思いますけど、
こちらについては特に松本さんとしては触れていないという形なんでしょうか。
まつもとゆきひろ
そうですね、Rubyの場合だとRubyGemsという、
Rubyが宝石なのでGemという言い方をするんですけども、
そういう外部ライブラリーがたくさんあって、
今だといくつあるのかな、ちょっと数えてないんですけど、
多分10万超えるような数のライブラリーがRubyの周辺にはあります。
何でもあるかとか何でも便利かというと、
そうもいかなくて、
最近だとより話題になっている言語、Pythonみたいなものだと、
コミュニティーが大きいので、より多くのライブラリーが揃ってたりとかして、
プログラミング言語の選択
まつもとゆきひろ
言語機能的には差がなくても、ライブラリーが揃っているかどうかで、
例えばPythonを選びますみたいなケースは発生しているので、
そういう形でコミュニティーに対して頑張りましょうよって
応援するようなことはありますが、
私自身が何か命令したり、
オープンソースに業務命令みたいなのは存在しないので、
ゆるく応援するみたいな感じではありますが、
コミュニティに対してみんなで共有して頑張りましょうよ
高見知英
みたいなことを言うことはありますね。
なるほど、ありがとうございます。
そうですね、RubyGemsの方に本当に10万を超えるモジュールがある。
やっぱりそういうモジュールがすごく多いというのは、
まつもとゆきひろ
今はどの言語も多いですよね。
そうですね、PythonでもPiPiとかですね。
そうですね。
高見知英
PiPiという話でしたっけ?
まつもとゆきひろ
そういうようなものとかありますね。
そうですね。
JavaScriptとNPMでしたっけ?
そんな感じのライブラリがあって、それぞれたくさん登録されているわけですけれども。
高見知英
本当にいろいろなものがあるんですけれども、
逆にこの目的の時にどれを選べばいいのかというのが、
同じようなものがいっぱいありすぎて迷うということもすごく多くなっているのが、
今のプログラム言語、どの言語もそうなんだろうなというふうに思います。
そうですね。
新たなプログラミング言語の挑戦
高見知英
プログラマーの方も最近10年増えてきているようですし、
その他やっぱり地域コミュニティで関わっている人とか、
そういう人たちもいろいろなことを聞いていらっしゃると思うんですけれども、
今のプログラマーに関しては、
今のプログラマーに関しては、
今のプログラマーに関しては、
今のプログラマーに関しては、
そういうような人も結構多いんですけれども、
このスピーキャストを聞いているいろいろな人に、
ぜひITとどう関わってほしいというようなものって何かございますでしょうか。
まつもとゆきひろ
そうですね。人によっていろいろなので、
なんとも言えないんですけど、ITはあくまでも道具なので、
最近いろんな生活が便利になったり社会が良くなったりしていくのを根源の中には、
コンピューティングパワー、コンピューターを使った技術によって、
世の中が良くなっていることがかなり多いので、
例えば全然関係なさそうな小売だったり、
交通だったり運輸だったり、いろんなところで、
でも業務の一部をコンピューターが担っているということはあるので、
ITの存在によって、
世の中が良くなっているということは、
知っていただきたいなというふうに思うんですけれども、
私が直接触れることのないプログラマーの皆さんにおいては、
コンピューターに言うことを聞かせるために苦労するというのではなくて、
楽しんだ上で、
世の中を便利にするというアプローチが取れるといいし、
そういうような道具がもっと充実するといいなというふうに思っていますね。
高見知英
なるほど。ありがとうございます。
本当に苦労するだけではなくて、本当に楽しんでやってほしいなというのは、
そうですね。やはりこのSBCASTでもたびたび、
プログラミングのコミュニティとか、
あとはプログラム言語を作っていらっしゃる方とかにもお話を伺ったことがありますけれども、
結構競争しているのが、やっぱり楽しむというような言葉が出てくるのは、
本当にキーワードになることが多いなというふうに感じています。
でもやはり本当そうなんですよね。
やっぱりプログラミングって苦しんでやるものではないですし、
ジャパンはよくプログラミングって料理みたいなものですっていうふうに言いますけれども、
料理って苦しんでやるものではないので、
同じようにプログラミングも苦しんでやるものじゃないよねというふうに思っています。
はい。ありがとうございます。
本当にその辺りは、本当に共通するキーワードとして持ってほしいなって思いますし、
やっぱり今そういうプログラミングは苦しんでやるものにしか見えないのであれば、
またちょっと視点を変えて、
別の人に関わってみるなりして、
ちょっと新しい視点を仕入れていってみてもらえればいいなというふうに思いますね。
ありがとうございます。
そのほか、これを聞いている人に何かしてほしいことなどございましたら、
お伺いできますでしょうか。
まつもとゆきひろ
そうですね。
私がRubyを作った30年前よりも、
プログラミング言語を作ることに対する指揮ってさらに上がっているような気がするんですね。
例えば最近話題になる言語って大体その大きな組織が
スポンサーがついたりとかする、
例えばGoでGoogleとかSwiftでAppleとかそういう感じの言語が目立ってて、
何十年か前みたいに素人がプログラミング言語を作りましたっていう感じのRubyみたいな言語っていうのは、
あんまり目立たなくなってきてはいるんですよね。
なんですが、それちょっと面白くないなというふうに思うんですよ。
やってみるとわかるんですけど、
プログラミング言語を作ったりデザインしたりそれを実装したりするのってのは、
プログラマーとして非常にエキサイティングなチャレンジなんですよね。
それに挑戦する人たちがもっとたくさん出てくれるといいなっていうふうに思いました。
過去のSBキャストのゲストでもプログラミング言語を作られた方がいらっしゃるってことなんですけども、
そういうような方がですね、もっと出てくるといいなって思うんですよ。
もちろんその中の全部が全部Rubyみたいに
うまくいくかっていうとわかんないんですけど、
プログラミング言語を作ることそのものが非常に有意義なチャレンジだと思うので、
そのことによって学ぶ、
最終的には仕事としては別のプログラミング言語を使うにしても、
自分の作ったプログラミング言語で仕事にならなくても、
プログラマーとして学べることすごくたくさんあると思うので、
興味を持った人はプログラミング言語を作るっていうことに対して、
プログラミングの楽しさと挑戦
まつもとゆきひろ
頭の片隅に置いて可能ならチャレンジしていただければいいなって思ってるんですけどね。
高見知英
そうですね。
確かに本当に今のプログラミング言語って
考えてみれば本当に大きな企業のサポートが入っているっていうのは
すごく多いなっていうふうには思います。
そうじゃないところで言語を作るっていう思いを持ってくれる人が
増えてくれてもいいなって思いますね。
例えば本当に自分が昔にちょっと作っていたような
セッティファイの拡張版みたいなものも
言語的であれば言語であってもいいかなって思いますし、
ここのSBCastで以前お話を伺った方だと
例えばプログラミング言語のひまわりとかを
作ってらっしゃるくじらひこうづけさんにもお話を伺いましたけど、
目的がある程度決まっててそれに特化している。
例えばひまわりであればまさに雑務処理とか
ちょっとした処理を円滑化するものになりますし、
あとはこちらの方はSBCastでお話を伺っているわけではないですけども、
自分がよく使っていたものだとUWSCって
これは言語と言っていいのかどうかわからないですけども、
マクロを組み立てるために作られた言語のようなものがありました。
この画面が出てくるまで待って、出てきたらこれを行うみたいな
そんなことを簡単に書けるようなものもありましたし、
本当にいろいろなものでこれは別に言語を作った方がいいのではないか
というものがあったりしますから、やっぱりそういうところで
じゃあちょっとプログラミング言語を作るということも考えてみようかな
そういう方面で話を考えてみるというのは
一ついい手なのかなというふうに思います。
プログラミング言語を解釈していくプログラムを作るだけでも
勉強になるところがいっぱいありますしね。
まつもとゆきひろ
ありがとうございます。
ありがとうございます。上手にまとめていただきました。
高見知英
そこは本当になんか自分も以前過去にちょっとだけやっていたという話はしましたけども
そこになんとなく重なってすごくその時のことを思い出していました。
ありがとうございます。
何かRubyに直接関係する関係しなくても良いんですけれども
今後何かやりたいこととかやってみたいことなど何かございますでしょうか?
まつもとゆきひろ
そうですね。
一つはですね、Ruby30年も続けてたんですけど
ソフトウェアプロジェクトで30年続くって滅多にないんですよね。
その間、すごい規模の小さい時から現在至るまでですね
一応その仕様を決めるプロダクトオーナーみたいな感じで
いろいろやってきた中にですね。
上手くいったこともあればいかなかったこともあるんですけども
その辺の経験みたいなものをですね
更新に伝授していかないといけないんじゃないかなという風なことを思っているのが一つですね。
もう一つはですね、そうは言っても私ネックからのプログラマーなので
何かプログラミングで
プログラミングを忘れるようなことはしたくないなというふうに思うんですよ。
私も50代も半ば過ぎてるんですけども
そうなるとですね、同期とかと話をするとですね
同世代の人と話をするとですね
昔はバリバリプログラム書いたけど最近はねみたいな人が多いんですよね。
で、まあわかるんだけど
それちょっと寂しいなと思ってですね
今でも毎日コードを書けるようになりたいなっていうふうに思ってて
私自身はですねGitHubチャレンジっていうのをやってて
GitHubって自分のアカウントにコミットすると
草が生えるっていうか、緑の点がつくんですよね。
で、あれを途切れさせないようにしようっていうチャレンジを自分に貸してですね。
で、まあ頑張ってますっていう感じでありますけど
ちょっと年をとってもずっとプログラミング書いてたいなっていう風に思っています。
高見知英
そうですね。GitHubチャレンジですかね。
GitHubチャレンジですか。なるほど。これは面白い試みですね。
プログラムだからぜひ。
そうですね。
なんか本当に30年プロジェクトって滅多にないって本当にその通りだなという風に改めて読めると思っていて
やっぱりそんなに長く続いているものってそうそうないなっていう風に思います。
先日インタビューしたBiscuitっていうプログラム環境も20年ですからね。
フリーソフトウェア陣営での活動
高見知英
本当にそれに加えてさらに10年。長いなという風に思います。
本当に経験を伝授するようなコンテンツっていうのがあるとすごく心強いなっていう風に思いますし
もう一つのプログラミングを忘れるようなことをしたくないっていう気持ちもすごくよくわかりました。
自分自身も本当にこのサイドビーチの活動もそうなんですけども
いろんなことが多くなりすぎてプログラミング触れてないけど作りたいものはたくさんあるみたいな状況を
ずいぶん長いこと続けているので
だからそれで何か少しずつでも作っていきたいっていうのは本当にその通りだなっていう風に思っています。
ぜひGitHubチャレンジをやっていかなければいけないですね。
なかなかついてくる人いないんですけど。
1ヶ月間全部真緑にするっていうのは確かにかなり難しいチャレンジかもしれないですけども
せめて1週間それなりに緑が出るような状況にはしていきたいです。
ありがとうございます。そこは頑張っていきたいですね。
私これ2年続けてます。
2年も続けてらっしゃる。ありがとうございます。そこはすごくいいですね。
まつもとゆきひろ
ちなみにその他今後インターネットで松本さんの活動を知るにはどうすればよいでしょうか?
そうですね。一応私ツイッターやってて
ユキヒロアンダーは松っていうアカウントでツイッターやってるんで
そこで直近の活動みたいなものはツイートしてますね。
あとはツイッターも最近ちょっと不穏な感じがするので
ブルースカイっていうところにアカウントをつけてですね
そっちも松で検索してもらえれば
MATZで検索してもらえればですね
見つかると思うので
今はほとんどつぶやいてないんですけど
高見知英
ツイッターが不穏なことになればいつでもそっちに移行しようかなと思っております。
そうですね。ツイッター以外の場所で活動するっていうのも
どんどん増やしていくといいなと思いますけども
自分はどちらかでそうしようと思ったら
ツイッターもそれ以外もおろさかになってしまったっていう状態だったりとか
まつもとゆきひろ
私もねチャンネルを用意してるだけでまだ移行はしてないんですけど
高見知英
そういうのは増やしていけると面白いですね
まつもとゆきひろ
プログラマーやってるとディスククラッシュとかで痛い目にあったことがあるので
私も1週間分のデータ全部吹っ飛ばしましたみたいな
そのバックアップ手段は常に用意したくなるんですね
本能的にね
ストトンとかブルースカイとかですね
アカウントだけは用意していつでも引っ越せるようにしよう
高見知英
特にやっぱりああいうインターネットのサービスって
名前が早いもの勝ちになっちゃうので
とりあえずさすがに自分の名前使って
高道っていう名前の人はそうそういないので
直接アカウントは取れないなんてことはそうそうないんですけど
それでもなるべく多めに取っておきたいなって思ってしまいますね
まつもとゆきひろ
そうではありますね
ツイッターはちょっと出遅れたので
マッツは取れなかったんですけども
高見知英
ぜひぜひそちらの方も見ていただければいいなと思いますし
自分も増本さんにお願いするときに
じゃあちょっと何か情報ありますかということで
先日ビングチャットに聞いてみたら
ずいぶん古い記事を引っ張り出してくれて
本当にそういうので
こんなことを話されてたんだなって思い出す機会もあったので
その辺なんかもぜひ
もし興味があれば見ていただければいいなと思います
まつもとゆきひろ
ありがとうございます
そうですね
この間チャットGPGに松本幸寛ついて
エゴサーしてないけど自分のこと聞いてみたら
中野で松本市に住んでますとか言われて
全く嘘ですね
高見知英
そうですね結構やっぱり
まつもとゆきひろ
完全に嘘つかれましたけど
高見知英
いつの間にか自分がアニメキャラクターにされてるとか
そういう人もいたりするらしいですね
そのあたりはいろいろと
話半分に聞きつつ
関わっていくっていうのが大事なのかななんて
最近思っていただいてます
ありがとうございます
それでは最後の方にはなってまいりますけれども
松本幸寛さんの活動のキーワード
こちらお伺いできますでしょうか
まつもとゆきひろ
活動のキーワードですか
Rubyが代表作なので
Rubyっていうのがキーワードになると思います
あとはオープンソフトウェアの活動が多いので
OSSもキーワードになると思います
それぐらいかな
個人的には私内心としては
OSSよりもオープンソフトウェアよりも
フリーソフトウェア陣営でいたいなと思うところもあるので
フリーソフトウェアっていうキーワードも追加したいところではあります
ぐらいかな
mRubyの開発
まつもとゆきひろ
あと最近プログラマーとしてはですね
Rubyの別実装であるmRubyっていうのを開発してるので
組み込みでも使えるような
綿のRubyっていう意味なんですけども
mRubyっていうのをキーワードにしたいですね
のでRuby、OSS、フリーソフトウェア、mRuby
っていうこれをキーワードにしておきます
高見知英
ありがとうございます
何かこのキーワードを選ばれた理由なんかもお伺いできれば
まつもとゆきひろ
日常生活とか
パブリックな方の日常生活はだいたいこっちっていう感じ
この辺だっていう感じですよね
高見知英
特に例えばフリーソフトウェアっていう言葉を選ばれたとか
そういうような理由がどこにあれば
まつもとゆきひろ
そうですね
私自身が大学生とかの時に
プログラミングを学んだ時に
当時フリーソフトウェアのソースコードを
読んだりすることによって
プログラミングのスキルを身につけたり学んだりしてきたので
自分の作ったソフトウェアっていうのは
基本的にしがらみがない限りフリーソフトウェアとして公開しようという風に
決心したんですね
大学生の時に
RubyもそうでしたしRuby以外のソフトウェアについても
そういう風にしています
フリーソフトウェアには
返しきれない恩があるっていう風に思っています
まだ当時オープンソースソフトウェアって言葉なかったんですよ
あれ97年に生まれた言葉なので
そうすると
私が育ったのは
フリーソフトウェアに育てられたっていう感じがありますね
高見知英
なるほどありがとうございます
まつもとゆきひろ
お年寄りなのでオープンソースソフトウェアって
すごい新しい感じがするんですよね
皆さんみたいに物心ついた時には
高見知英
オープンソースソフトウェアありましたっていう感じではないので
そうですね
そこは両方フリーソフトウェアもオープンソースも
割と一般的な言葉になった時点で
初めてプログラミングに触れたぐらいだったので
まつもとゆきひろ
そうですね
世代の違いみたいなところが出ちゃう感じですね
高見知英
なるほどありがとうございます
ソースコードの解析とフレームワークの変遷
高見知英
やっぱりそういう返しきれない恩があるっていうものは
本当によくわかりますし
自分もここ最近はGitHubの他の人のソースコードを参照して
このモジュールってこうやって使うんだっていうのを
気づいたりすることって結構あったりしますので
そこはすごくよくわかります
場合によっては自分が使っているプログラムの
モジュールのソースコードを読んで
これはこうなってるんだと逆にこういうような仕様が
今あるんだっていうのを気づいたりとかいうこともありますし
自分自身もしがらめがないものについては
なるべくオープンにしようというふうに思っていますし
自分自身はやっぱりこういうような地域のコミュニティと
ITコミュニティの間にいるものとして
どうしても地域の人が参照できるような情報って
今だとほぼほぼないので
じゃあプログラミングって何だろう
勉強してみようかなと思ったときに
読めるソースってちょっとコードすぎちゃって読めないっていうものになってしまうので
だからそういうような人の教科書にもなれば
いいかなっていうふうに思っていますので
その結果ちょっとこういうような形で
なるべくオープンにいっているところが非常に同じところではありますから
そこは思いますね
やっぱりこういうふうに解析での思いが
本があるっていうのもありますし
フリーソフトウェアでいきたいっていうのはありますね
ありがとうございます
その他何かこれは言っておきたいなとか
これは言い逃したなとか何かございますか
大丈夫でしょうか
まつもとゆきひろ
そうですね
同じソフトウェアの開発で30年もやっていると
流行の変遷みたいなものに遭遇するわけなんですけれども
逆に言うと
すごい長期的な視点で見てみると
一時の流行みたいなものって例えば5年とか10年とかで
伝われるみたいなことがあったりとかするので
テックニュースとか見ていると
これこれが流行ったとか
このフレームワークがすごいみたいなこと言われるんだけど
5年10年あるいはもっと長いスパンでものを見ると
もうちょっと違ったものが見えることがありますよ
っていう話は年寄りの老婆心
アドバイスっていうことは
言えるかなっていう風に
新しいものが出てきたのは問題解決するために出てきたもので
良いものである可能性はすごく高いんですけど
だからといってそこに善がけするっていうのもなんだよね
っていう風なことも
アドバイスとして伝えておきたいなという風には思いますね
高見知英
そうですね
やっぱり心については本当に思うところ
自分も感じるところはありますので
本当に流行の変遷はすごいいっぱいありますし
今はこういうようなフレームワークが一般という風に言われて
毎回変わるものがあったりしますし
自分も何かプログラミングなんか作ろうかと思った時に
このやり方が今は流行りとかするのって
すごくたくさんあるので
毎回毎回見るたびに内容が変わっているっていうこともあるんですけど
かといってそのフレームワークにべったりで
全てお任せ
だから他のプログラミング言語そのものの理解って
そこまでじゃなくてもいいんだなんてことは全然なくて
やっぱり真を覚えておかないといけないっていうところは
共通してあるんだなと思います
特にそういうようなプログラミングを
やったこともあるんだけれども
やっぱりそういうところが
しっかり真まで理解できてないと
フレームワークが新しいものに変わった時に
全くわからない世界に放り出されてしまうということも
しょっちゅうありますし
そういうようなフレームワークが使えない現状に
いった時に何もできなくなってしまうこともありますので
だからこそ真を覚えておく
そうすればどの言語もある程度応用聞くようになるので
っていうのはすごく大事で
教えるような機会話すような機会があったら
なるべくそういうふうな覚え方をするのが大事
っていうふうに言ってます
だからその後もすごく共感しますね
ありがとうございます
本当にこういうような思いを持ってプログラミングを
どんどん皆さんも関わってみていただければいいな
というふうに思いますね
まつもとゆきひろ
こちらこそありがとうございました
高見知英
それでは今回のゲストは
プログラミング言語Ruby開発をされていらっしゃいます
松本ゆきひろさんにお越しいただきました
松本さんどうもありがとうございました
まつもとゆきひろ
ありがとうございました
高見知英
ありがとうございました
プログラミング言語Rubyの開発
高見知英
今回はプログラミング言語Rubyを開発し
その言語を今でもメンテナンスしている
プログラミング言語設計者であり
コミュニティリーダーであり
オープンソースエヴァンジェリストや
各社技術顧問など
様々な企業団体に関わる
松本ゆきひろさんに
活動の内容や思いを伺いました
Rubyは現在世界各地で使われている
日本初のプログラミング言語
プログラミング言語を使い分けることによって
今まで難しいことを思っていたことが
随分楽になることがあると感じた松本さんは
それがきっかけで
プログラミング言語全般に興味を持つことになりました
松本ゆきひろさんのフリーソフトウェア陣営への想い
高見知英
卒業後プログラマーとして就職し
経験も積み
その後時間ができたとき
プログラミング言語でもいっちょやるか
コンピューターの活用範囲拡大に伴い
Rubyが使われる範囲もどんどん広がっていきました
当初自分が想定したようなものは
全く違う分野でも使われるようになり
作った本人も驚く
そのような経験を経てRubyはここまで歩んできました
松本ゆきひろさんの活動のキーワードは
フリーソフトウェア陣営でいたい
そしてRuby OSS
それからRubyの発声言語であるmRuby
自分自身がプログラミングを学んだときに
フリーソフトウェアのソースコードを読んだりすることによって
プログラミングのスキルを身につけたり
学んだりしてきたという松本さん
フリーソフトウェアには返しきれない恩がある
だからこそフリーソフトウェア陣営でいたいと
松本さんは言います
SBCastでは今までさまざまな人の活動を
伺ってきました
多くの人に共通するキーワードとしてあるのは
楽しいを原動力にするということ
まずは何事も楽しむこと
コンピューターを学ぶこと
プログラミングを学ぶこと
地域の課題に目を向けること
皆さんも楽しさを起点として
課題の解決に向けて取り組んでみませんか?
このポッドキャストの感想は
YouTubeやスタンドFMのコメント欄などで受け付けています
それらが使えないという方は
まちづくりエージェントサイドVTTサイトの
お問い合わせフォームなどからご連絡ください
またSBCastは継続のための寄付受付を行っています
毎月1000円の月額サポートの内容となります
特典などご興味ご関心おありの方は
ぜひ寄付サイトもご確認ください
今後もこの番組では様々なステージで
地域活動コミュニティ活動をされている
皆様の活動を紹介していきたいと思います
それぞれの視聴環境にて
ポッドキャストの購読ないし
チャンネル登録などをして次をお待ちいただければと思います
それでは今回のSBCastを終了します
お聴きいただきありがとうございました
48:58

このエピソードに言及しているエピソード

コメント

スクロール