SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

【RubyKaigi'08】詳細レポート

【RubyKaigi'08】詳細レポート : 多様化するRuby(続)

日本Ruby会議2008 詳細レポート 後編


  • X ポスト
  • このエントリーをはてなブックマークに追加

アプリケーション開発言語としてのRuby

 Ruby会議 2日目の最終セッションは、前田修吾氏の『Rails症候群の研究』だった。

 前田氏は以前からRubyコーディング規約を公開するなど、Rubyを利用したアプリケーション開発についてコミットしている。

 このセッションでも、RailsからRubyを利用し始めた開発者の特徴として次のような望ましくない傾向の指摘から開始した。

  • protectedメソッドの多用
  • Open classの多用
  • Rubyが何かわかっていない

 次に、これらの問題の由来について過去の経緯などを示したあとで、修正方法などについての見解を示した。

 例えば、Open classの代わりにselector namespaceを導入することで(その代わりにOpen classを廃止し)、意図せぬクラスの書き換えを防ぐようにすることである。

 次のリストは、jcodeというselector namespaceの下でのみStringクラスのlengthメソッドを置き換えるという疑似コードである。

class String
  def jcode$length
    return gsub(/[^\Wa-zA-Z_\d]/, ' ').length
  end
end

class Foo
  using jcode
  def bar
      p "あいうえお".length => 5
    end
  end
end

 リストから分かるように、selector anamespaceを導入した場合、元のクラスに対する変更は、呼び出し側がnamespaceをusingして初めて有効となる。これによって、意図せぬクラスの書き換えからアプリケーションを守ることが可能となる。

 前田氏は最後に、文書化された仕様の必要性を訴えてセッションを締めくくった。

まとめ

 2008年のRuby会議は「多様性は善」というテーマにふさわしく、Ruby 1.9、JRuby、Rubiniusの他にも、名前だけが先行しているMagLev、本稿では触れなかったが2日目のセッションでにわかにMacの注目度を高めたLaurent Sansonetti氏によるMacRubyといった処理系の多様化、教育や業務といった利用シーンの多様化など、いろいろなレベルで多様性が強調されたものだった。

 それと同時に、実装が多様化するということは、それらが正しくRubyの処理系であることをどこかで保証する必要があるということでもある。まつもと氏や前田氏のセッションでは、文書化された仕様の作成に対して、Rubyアソシエーションが前向きであることが明らかにされた。

 それにつけても、テーマの設定、それにマッチした会場のセッティング、ムード作り、セッションの選定など、日本Ruby会議2008実行委員会は実に素晴らしい仕事をされたと思う。感謝と讃辞を送りたい。ありがとうございました。

修正履歴

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
【RubyKaigi'08】詳細レポート連載記事一覧
この記事の著者

arton(アートン)

専門は業界特化型のミドルウェアやフレームワークとそれを利用するアプリケーションの開発。需要に応じてメインフレームクラスから携帯端末までダウンサイジングしたりアップサイジングしたりしながらオブジェクトを連携させていくという変化に富んだ開発者人生を歩んでいる。著書に『Ruby③ オブジェクト指向とはじめての設計...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/2734 2008/09/05 11:31

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング