「”クール IT”でプログラマーのイメージ改善せよ」
Ruby作者まつもとゆきひろ氏2万字インタビュー(後篇)
2016年09月19日 19時00分更新
ゲストを招き、プログラミングの魅力やはじめ方のアドバイス、いま注目している技術などを語っていただくシリーズ。第1回目は、日本を代表するプログラマーであるRubyアソシエーション理事長のまつもとゆきひろ氏が登場。前編の「俺ってスゲェ!』と思える言語を作りたかった」に引き続き、後編では、いよいよRubyの誕生やプログラミング教育についても触れる。
ゲスト:まつもとゆきひろ(Rubyアソシエーション理事長)
聞き手:角川アスキー総合研究所
バブル崩壊がRubyを生み出した
──93年にRubyを作り始めた理由はあるんですか?
まつもと「結論からいうとバブルの崩壊が理由です。僕は90年に卒業して、某ソフトハウスに就職して、そこで社内システムを作るチームに配属されたんです。でも社内システムってお金を稼がないじゃないですか。ということで、バブルの崩壊とともに僕のいたチームのプロジェクトはキャンセルになってしまいました。で、その時にメンテナンス要員として2人だけ残されたんですよ。僕ともう一人。でも、新規開発は禁止されていたので、《不具合がありました》と電話かかってきても《再起動してください》としか答えようがないんです(笑)」
──英国のドラマで「ハイっ、こちらIT課!」っていうのがあるんですけど、まさに質問電話がかかってくると《再起動してください》としか答えない(笑)。
まつもと「まさにそうで。で、やることないし、時間もあるし、なんかやるかなって作ったのがRubyだったんですよ」
──その話は本当なのですね?
まつもと「それで、会社を辞める時、マネージャーに《実は今まで会社のリソースを使ってこんなソフトを作っていたんですけど》と伝えたんです。そしたら、《そうか。それはお前のものとして持っていけ》って。今みたいにコンプライアンスが非常にうるさい時期だとそもそも開発できなかったかもしれないですね」
──ところで、プログラミング言語を作る時ってどこから作り始めるのでしょうか?
まつもと「個人差はありますが、僕の場合は文法から作り始めますね。こう言う文法の言語ですよっていうのを読み込ませるとその文法があってたらOK、誤りがあるとエラーが出るっていうプログラムを作るのはそんなに難しくないんですよ」
──コンパイラコンパイラとかありますからね。
まつもと「ええ。その次に構文木っていうんですけど、文法を読み込んだらコンピュータの中の表現に変換して、次にそれを解釈して実行してっていう」
──いまは、Rubyは、Ruby自身で書かれていると思うんですけど。
まつもと「いや、ずっとCで作っています。いま解釈しているRubyと実行しているRubyが同じだとわかんなくなっちゃうんですよね。同じ理由でC++も使っていなくて、C++のオブジェクト指向とRubyのそれとで混乱しちゃうので」
──オブジェクト指向の言語を書こうというのに、オブジェクト指向でないCで書かれているというのは意外な気もします。
まつもと「CでRubyのオブジェクト指向を作ってて、その機能はCからも使えるんですよ。だからRubyのC実装って、Cで書かれているんだけどRubyのオブジェクト指向で書ける。僕はこれが好みなんですが、違う人も多いみたいですね」
注釈
【ハイっ、こちらIT課!】
英国チャンネル4で放送されていたドラマ。大企業の“お荷物部署”であるIT課を舞台にしたコメディ。
(次ページ、「僕のコードにすごい似てるんだけど何だろう?」に続く)
この連載の記事
-
第30回
トピックス
『第九回技術書同人誌博覧会』が11月25日に開催 -
第29回
トピックス
「ChatGPTはどう変わろうとしているのか」を学ぶ講座、11月24日に開催 -
第28回
プログラミング+
U-22で経済産業大臣賞など4冠の中学生上原直人(15歳)さんに聞いた -
第27回
プログラミング+
教育研究家とケンカして作った子どもプログラマー向けキーボードとは? -
第26回
プログラミング+
まだ間に合う! SDLアプリコンテスト応募へ、サンプルコードを一挙公開!! -
第25回
プログラミング+
アプリ開発者のみなさま! SLDアプリコンテスト〆切迫る -
第24回
プログラミング+
クルマは巨大なIoTだ! SDLハッカソンレポート -
第23回
プログラミング+
PyCon JP 2018レポート~参加者1000名超!過去最大の規模で開催~ -
第22回
プログラミング+
『みんパイ』著者が、Pythonはなぜ流行ったのかを考える -
第21回
プログラミング+
イノベーションが強く求められている時代だからこそ「非エンジニアがプログラミングを学ぶべき」な理由 -
第20回
プログラミング+
プログラミング言語「Kotlin」でAndroidアプリ開発を始めよう! - この連載の一覧へ