このページの本文へ

スペシャルトーク@プログラミング+ 第2回

「”クール IT”でプログラマーのイメージ改善せよ」

Ruby作者まつもとゆきひろ氏2万字インタビュー(後篇)

2016年09月19日 19時00分更新

文● 角川アスキー総研

  • この記事をはてなブックマークに追加
  • 本文印刷

僕のコードにすごい似てるんだけど何だろう?

──プログラミング言語ではなく、人間のはなす言語を作ってみたいとはならないのですか?

まつもと「エスペラントとかの人工言語には少し関心がありました。ただ、語彙がね。コンピューターの言語と違って揃えるのが大変で、その辺を考えるとなかなか難しいというのがひとつ。あと、人の言語って基本的に音声表現ですよね。僕自身、どうもそっちには関心がなくて、最初から文字で表現されているものに関心があるんだなと気付きました」

──いま、スマートフォンで通話よりも文字のコミュニケーションをするようになってきていて、音声表現を必要としない時代がいつか来るかもしれませんがね。

まつもと「あるかもしれませんね。SiriとかCortanaとかで逆に音声に寄るかもしれませんが」

──ところで、まつもとさんはコードの美しさとかにこだわりますか? 動けばいいみたいな人もいると思いますが。

まつもと「コメントを書かないとわからないようなコードは書きたくないなとは思っています。Ruby みたいに20年越しで開発するソフトウェアだと、過去確かに自分で書いたはずのコードなのになんで書いたか覚えていないっていうことがあり得るわけですよ。だから、何やってるかわからないようなものは書きたくないですね」

──文芸的プログラミングとかの話とも関係してきますが。

まつもと「そうですね。僕の場合は、未来の自分が絶対つまずくと思ったところにだけコメントを書くようにしていますね」

──多くの方がRubyの開発にかかわっているでしょうから分からないところもあるんじゃないですか?

まつもと「基本的にRubyの開発にあたっては既存のコードスタイルを尊重してくれています」

──Rubyを介してまつもとコピーをいっぱい作っている感じですかね?

まつもと「だといいですけどね。ちょっと話がそれるんですけど、言語関連のオープンソース・ソフトウェアをダウンロードして中のコードを見るのが好きなんですよ。それで、ある言語のソースを見ていたら、どうもこのコード見覚えがあるなぁっていうのがありまして(笑)。名前の選び方とかコードのスタイルとかなんか見たことがあるぞと」

──なるほど、まつもとさんのスタイルが継承された。ほかに何かこだわっていることはありますか? わからないですけど、例えば関数の名前の決め方にルールとか。

まつもと「関数の名前の決め方にルールはあんまりないですけど、長いだとか似ているだとかは嫌ですね。名前は簡潔かつ区別がつくものと決めています。覚えるのにも脳のbitは消費するし。だから、僕の変数ってすごく短いんですよ。一文字の変数とかやたら出てきたりして」

──あれだ、ポケコンの影響だ。でも一文字の変数ってダメなんじゃ?

まつもと「そうかもしれないです。一文字っていうのは結構怒られるらしいんですよね。でも、僕の場合は《この関数でのsはストリングね》だとか《これ頻繁にアクセスするからsね》みたいに、明らかなものは1文字にしちゃいます。逆に言うと、一文字の変数名でわからなくなるような長い関数は書いちゃダメですね。2009年に出た”Go”という言語は、変数名は短い方がいいっていうプログラミングスタイルらしく《おぉ!友よ!》と思いました(笑)」

──効率を狙って物凄く簡潔にしちゃうということはしていないんですか?

まつもと「そういうことはできるだけしないようにしていますし、それをするとなるとだいぶ説明を書きますよね。ここはちょっと難しいことしてるから触るなとか(笑)」

注釈

【Go】
2009年、Googleによって開発されたプログラミング言語。比較的強力な型システムを持ちながら動的言語のような気軽さでプログラムを書けたり、並行処理のための仕組みが組み込まれていたり、日常的な処理のためのライブラリがはじめから一式用意されていたり、現代的で地味に楽なのが特長。


 

(次ページ、「文系、理系、プログラミングはじめる人へのアドバイス」に続く)

カテゴリートップへ

この連載の記事
ピックアップ