• BPnet
  • ビジネス
  • IT
  • テクノロジー
  • 医療
  • 建設・不動産
  • TRENDY
  • WOMAN
  • ショッピング
  • 転職
  • ナショジオ
  • 日経電子版
  • PR

  • PR

  • PR

  • PR

  • PR

ニュース

「言語を設計する楽しさを知ってほしい」、Rubyの父まつもと氏が新言語の開発語る

大森 敏行=日経NETWORK 2016/05/31 ITpro
[画像のクリックで拡大表示]

 2016年5月28日に東京・秋葉原で「東京Ruby会議11」というイベントが開催された(イベントのWebページ)。ソフトウエアの実装技術について突っ込んだ議論を行うカンファレンスだ。講演者はすべてプログラマ。自身が開発したソフトウエアの実装について興味深い部分を紹介した。

 最初に講演したのは、プログラミング言語Rubyの開発者であるまつもとゆきひろ氏。この日の肩書はなぜか「日経Linuxライター」。なぜなら、まつもと氏が同誌の連載で開発している新言語「Streem」がテーマだったからである(当日のプレゼン資料)。

 講演でまつもと氏は「言語の実装を解説した本は多いが、題材はC言語のサブセットやRubyのサブセットのようなサンプルレベルの言語ばかり」と指摘。「言語の設計が一番おもしろいのに、そこを解説した本がない」と語った。言語設計のおもしろさを伝えられるのは「私が一番近い」(同氏)。そこで、新しい言語であるStreemを設計してみることにしたという。

 ただし、「汎用言語は目指さない」(同氏)。汎用言語を開発すると「Rubyの生みの親がRubyをあきらめた」と邪推を生んでしまうことを懸念したからだ。「Rubyの発展の邪魔はしたくない」(同氏)。そこで、「ストリーミングプログラミング」という特定目的の言語を設計することにした。ループがなく、部品をパイプでつないでいくスタイルでコードを記述する。データは基本的にはイミュータブル(書き換え禁止)だ。ちなみにStreamではなくStreemなのは、Streemというドメインが空いていたからだという。

 Streemの設計には「Rubyとは変えられるところがあれば変える」という方針を採用した。Rubyの設計には「どうしてもそうしたいと思ってそうしているところと、それほど理由なくそうしているところがある」という。そこで、StreemでRubyとは別の設計を試してみることで「自分が妥協できない点を明確化できる」という意図がある。「Rubyの文法を勝手に変えたら、100万人レベルで苦情が来る。Streemは文法を変えてもまだ誰も文句を言わない」(まつもと氏)。Streemには、まつもと氏自身の実験や学習のための教材という側面があるのだ。

 2015年末には200行ほどのStreemの構文定義をこっそり公開した。ところが、それが見つかって「Rubyの開発者が新言語を開発している」と大騒ぎになってしまった。この構文定義を元に実際の言語実装まで作ってしまう人も現れたという。

 まつもと氏は、「言語の設計は『楽しむ』と『学ぶ』の両面ですごくいい教材だ。プログラマの発想を支援するためのユーザーインタフェースをどのようにすればいいか。それを試行錯誤するのが一番楽しい」と語る。「みなさんも言語設計を楽しんでほしい」と会場に呼びかけた。

ここから先はITpro会員(無料)の登録が必要です。

次ページ 講演後のQ&Aタイムでは、多くの質問者がマイクの...
  • 1
  • 2

あなたにお薦め

連載新着

連載目次を見る

今のおすすめ記事

  • 【情総研レポート】

    IT業界が期待する新たな営業手法、インサイドセールス

     勤務先に名前も聞いたことのない会社から電話が入る。出てみるとマンションなどの不動産投資の勧誘だった──。 電話で営業というと、あまり良いイメージがないのは筆者だけではないだろう。だが、こうした手法が姿を変え、今や米国で営業の代表的手段となった。それが「インサイドセールス」だ。

ITpro SPECIALPR

What’s New!

経営

アプリケーション/DB/ミドルウエア

クラウド

運用管理

設計/開発

サーバー/ストレージ

クライアント/OA機器

ネットワーク/通信サービス

セキュリティ

もっと見る