「”クール IT”でプログラマーのイメージ改善せよ」
Ruby作者まつもとゆきひろ氏2万字インタビュー(後篇)
2016年09月19日 19時00分更新
僕のコードにすごい似てるんだけど何だろう?
──プログラミング言語ではなく、人間のはなす言語を作ってみたいとはならないのですか?
まつもと「エスペラントとかの人工言語には少し関心がありました。ただ、語彙がね。コンピューターの言語と違って揃えるのが大変で、その辺を考えるとなかなか難しいというのがひとつ。あと、人の言語って基本的に音声表現ですよね。僕自身、どうもそっちには関心がなくて、最初から文字で表現されているものに関心があるんだなと気付きました」
──いま、スマートフォンで通話よりも文字のコミュニケーションをするようになってきていて、音声表現を必要としない時代がいつか来るかもしれませんがね。
まつもと「あるかもしれませんね。SiriとかCortanaとかで逆に音声に寄るかもしれませんが」
──ところで、まつもとさんはコードの美しさとかにこだわりますか? 動けばいいみたいな人もいると思いますが。
まつもと「コメントを書かないとわからないようなコードは書きたくないなとは思っています。Ruby みたいに20年越しで開発するソフトウェアだと、過去確かに自分で書いたはずのコードなのになんで書いたか覚えていないっていうことがあり得るわけですよ。だから、何やってるかわからないようなものは書きたくないですね」
──文芸的プログラミングとかの話とも関係してきますが。
まつもと「そうですね。僕の場合は、未来の自分が絶対つまずくと思ったところにだけコメントを書くようにしていますね」
──多くの方がRubyの開発にかかわっているでしょうから分からないところもあるんじゃないですか?
まつもと「基本的にRubyの開発にあたっては既存のコードスタイルを尊重してくれています」
──Rubyを介してまつもとコピーをいっぱい作っている感じですかね?
まつもと「だといいですけどね。ちょっと話がそれるんですけど、言語関連のオープンソース・ソフトウェアをダウンロードして中のコードを見るのが好きなんですよ。それで、ある言語のソースを見ていたら、どうもこのコード見覚えがあるなぁっていうのがありまして(笑)。名前の選び方とかコードのスタイルとかなんか見たことがあるぞと」
──なるほど、まつもとさんのスタイルが継承された。ほかに何かこだわっていることはありますか? わからないですけど、例えば関数の名前の決め方にルールとか。
まつもと「関数の名前の決め方にルールはあんまりないですけど、長いだとか似ているだとかは嫌ですね。名前は簡潔かつ区別がつくものと決めています。覚えるのにも脳のbitは消費するし。だから、僕の変数ってすごく短いんですよ。一文字の変数とかやたら出てきたりして」
──あれだ、ポケコンの影響だ。でも一文字の変数ってダメなんじゃ?
まつもと「そうかもしれないです。一文字っていうのは結構怒られるらしいんですよね。でも、僕の場合は《この関数でのsはストリングね》だとか《これ頻繁にアクセスするからsね》みたいに、明らかなものは1文字にしちゃいます。逆に言うと、一文字の変数名でわからなくなるような長い関数は書いちゃダメですね。2009年に出た”Go”という言語は、変数名は短い方がいいっていうプログラミングスタイルらしく《おぉ!友よ!》と思いました(笑)」
──効率を狙って物凄く簡潔にしちゃうということはしていないんですか?
まつもと「そういうことはできるだけしないようにしていますし、それをするとなるとだいぶ説明を書きますよね。ここはちょっと難しいことしてるから触るなとか(笑)」
注釈
【Go】
2009年、Googleによって開発されたプログラミング言語。比較的強力な型システムを持ちながら動的言語のような気軽さでプログラムを書けたり、並行処理のための仕組みが組み込まれていたり、日常的な処理のためのライブラリがはじめから一式用意されていたり、現代的で地味に楽なのが特長。
(次ページ、「文系、理系、プログラミングはじめる人へのアドバイス」に続く)
この連載の記事
-
第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アプリ開発を始めよう! - この連載の一覧へ