【CEDEC 2011】面倒な事はコンピューターにやらせよう・・・Ruby開発がおしえてくれたこと | GameBusiness.jp

【CEDEC 2011】面倒な事はコンピューターにやらせよう・・・Ruby開発がおしえてくれたこと

その他 その他

まつもとゆきひろ氏は日本発にして世界で利用が広がっているという稀有なプログラミング言語「Ruby」の生みの親で、CEDEC 2011の最終日にゲーム開発者の前で自身の経験を語りました。
  • まつもとゆきひろ氏は日本発にして世界で利用が広がっているという稀有なプログラミング言語「Ruby」の生みの親で、CEDEC 2011の最終日にゲーム開発者の前で自身の経験を語りました。
  • まつもとゆきひろ氏は日本発にして世界で利用が広がっているという稀有なプログラミング言語「Ruby」の生みの親で、CEDEC 2011の最終日にゲーム開発者の前で自身の経験を語りました。
  • まつもとゆきひろ氏は日本発にして世界で利用が広がっているという稀有なプログラミング言語「Ruby」の生みの親で、CEDEC 2011の最終日にゲーム開発者の前で自身の経験を語りました。
  • まつもとゆきひろ氏は日本発にして世界で利用が広がっているという稀有なプログラミング言語「Ruby」の生みの親で、CEDEC 2011の最終日にゲーム開発者の前で自身の経験を語りました。
  • まつもとゆきひろ氏は日本発にして世界で利用が広がっているという稀有なプログラミング言語「Ruby」の生みの親で、CEDEC 2011の最終日にゲーム開発者の前で自身の経験を語りました。
  • まつもとゆきひろ氏は日本発にして世界で利用が広がっているという稀有なプログラミング言語「Ruby」の生みの親で、CEDEC 2011の最終日にゲーム開発者の前で自身の経験を語りました。
  • まつもとゆきひろ氏は日本発にして世界で利用が広がっているという稀有なプログラミング言語「Ruby」の生みの親で、CEDEC 2011の最終日にゲーム開発者の前で自身の経験を語りました。
  • まつもとゆきひろ氏は日本発にして世界で利用が広がっているという稀有なプログラミング言語「Ruby」の生みの親で、CEDEC 2011の最終日にゲーム開発者の前で自身の経験を語りました。
まつもとゆきひろ氏は日本発にして世界で利用が広がっているという稀有なプログラミング言語「Ruby」の生みの親で、CEDEC 2011の最終日にゲーム開発者の前で自身の経験を語りました。

■Ruby開発が教えてくれたこと

まつもと氏がプログラミングに出会ったのは父親が買ってきたポケコン「PC-1210」がきっかけ。ポケコンとは電卓に似た小型のコンピューターですが、中にはBASICが内蔵されていて自分でプログラムを記述することができました。まつもと氏は「400ステップしか書けないBASICに取り憑かれ、魅了された」と言います。これには共感するゲーム開発者も多そうです。

BASICに熱中したまつもと氏ですが、すぐに他にも様々なプログラミング言語があることを知ります。しかしパソコンは当時高校生だった身に買える代物ではありません。しかし諦めません。まつもと氏は書店でPascalの本を買って、実行環境を持たないまま本を隅から隅まで熟読してPascalという言語をマスターしてしまったとか。そうしたことでBASICとは異なる、ローカル変数や構造体といった概念を知り、そして言語によって哲学があり、それ以前の言語から改善されているということに感心を持つようになったそうです。

「もしかしたら自分でも作れるんじゃないかと。パソコンは無いからノートに"僕が考えた最強の言語"を書いていたんです(笑)」

■言語が思考を形づくる

ここで、まつもと氏が紹介したのは「Sapir-Whorf仮設」。これは言語学における考え方で、言語は思考に影響を与えるというものです。例えばアマゾンの奥地の言語には数え方で1〜3まで存在しない言語があるそうです。こうした言語では数学は生まれ得ません。また、イヌイットの言語には雪や氷を表現する言葉が70〜80もあるそうです。こうした言語では豊かな表現ができそうです。日本語には雨を表す表現が沢山あり、情緒的な表現ができます。

これはプログラミング言語にも適応できそうです。「殆どのプログラミング言語では、どのようなアルゴリズムも実装できます。しかしそのためのコストは言語によって異なります」まつもと氏がRubyという言語に込めた思いは"プログラマーにとって心地よいものにする"ということだそうです。同じ処理でもどれだけ簡潔に簡単に書くことができるか。性能や機能ではなく、プログラマーが良い気分でノリノリで書ける言語を目指すということです。

「ブロックスの法則」というものがあります。これはプログラマが一定時間に開発できるソフトウェア量は言語によらず一定である、というものです。ある人が500行書けるとすると、アセンブラでも500行、Rubyでも500行書けるということになります。アセンブラの500行で実現できることと、Rubyの500行で実現できることは格段の差があります。生産性は爆発的に向上することになります。

例えば同じ階乗の計算した場合、Rubyはいかに簡潔に書けるかが紹介されました。

「シンプルな階乗の計算だけでもJavaやC++と比べるとRubyはとても簡単に書けます。JavaにはJavaの都合があると言ってしまえばそれだけですが、書かないとコンパイラが文句を言うから面倒な記述をするわけです。しかし我々はコンパイラの為に働いているわけじゃないですよね」

Rubyは人間が楽をできるように設計され、面倒なことはコンピューターがするように設計されています。もちろんこれはコンピューターパワーを必要とする考え方ですが、そのコンピューターの性能は急速に進化をしてきて、これからもしていきます。「スパコンを何億も払ってリースしている時代はコンピューターのリソースを節約する必要がありました。しかし今の時代、そんな必要はどこにもありません。人間が楽をするためにコンピューターが頑張る。これを積み重ねる事で気分のいいプログラミング言語に繋がると思います」

■Rubyはキャズムを超えた

"僕が考えた最強の言語"から始まったRubyは今や大企業の大型プロジェクトでも採用されるようになり、キャズムを超えたと言えます。さらにRubyアソシエーションという財団も設立され、ISO/JISの標準規格にも載りました。これによりRubyは一つの確立された言語として今後も活用が広がっていく可能性が高くなりました。

しかし、まつもと氏は「転石苔生さず」の精神を今後も貫きたいと言います。「今後もムーアの法則は続き、プログラミング言語ができることは増えていきます」。その一方、軽量Rubyの開発にも取り組んでいるとのこと。そして「RiteVM」と呼ばれる組み込み機器向けの環境も用意。あらゆる分野でRubyが利用できる環境を構築していくとのこと。
《土本学》

特集

人気ニュースランキングや特集をお届け…メルマガ会員はこちら