1日目

The History of Ruby;20th Anniversary Ed.(高橋征義氏)

2007年に第1回目のRuby会議がお台場で開かれた。
Rubyの20年の歴史を振り返る内容。
私はRailsを動かすためにRubyを覚えたAfterRails世代(せんそうを知らない子供)なので昔話は非常に興味深く聞くことができました。

以下は印象的だった事象だけメモ。

1995年

Ruby0.95
初めて普通の人が触れるRuby

1996年

Ruby 1.0リリース(知る人ぞ知る時期)

海外

2001-2004年
初の英文書籍 Programming Ruby
無料の電子版も公開された。RubyConfが開催された。この頃は「海外で知る人ぞ知る言語」となった。

2005年

Ruby on Rails

2006年

CVSからSubversion
Rubinius、MongrelCapistrano、Engine Yard

2007年

CRuby1.9.0、JRuby1.0、IronRubyRails 2.0、Sinatra
まつもとさんが楽天

2008年

Railsgithub
MerbがRailsへ統合

2009年

gemcutterrubygems.orgへ
CRuby 1.9.1、Chef

2010年

CRuby1.9.2、Rubinius 1.0、Rails3.0、RVM、Bundler

2011年

RubyKaigi最終回
Ruby1.9.3

2012年

ISO認定、mruby、RubyMotion

Ruby2.0 リファレンスマニュアル刷新計画(okkez氏)

未だにArrayやStringなど基本的なクラスの情報はるりまを見ることが多いです。そのメンテナンス状況のお話を聞きました。

  • XML,Tk関連のドキュメントが手付かず
  • Gem化 完了
  • UTF-8化 完了(前はeuc-jpだった)
  • リポジトリGithub移行はやりたり
  • RDocと自動同期する仕組みをやりたい
  • ツールの整備
  • miyamae/rubydoc-ja るりまの検索が行える
  • clear-code/rurema-search るりまの全文検索ができる
  • るりまには1メソッドにつきサンプルコードを1つ書くルールがある。
  • BitClust
  • RDocの活用
  • Ruby2.0.0対応
  • メンテナンスしやすく
  • 書く人の負担を減らす

Two Legal Bodies about Ruby and its projects(杉原氏、福田氏)

一般財団法人Rubyアソシエーションの活動についてのお話。
ユーザーコミュニティ中心の「日本Rubyの会」と比較し「エンタープライズ領域へのRuby普及」を目指してる。

Rubyの開発、保守体制
  • ビジネスの世界から見ると不安に感じる。
  • ビジネスサイドの不安→今後も機能は発展していくか。継続性は?
  • 安定版の保守事業。Ruby1.9.3
  • ビジネスサイドの不安→情報が少ない。利用事例。
  • 開発事例を集めている。
RubyWorld Conferenceの開催
  • ビジネスの事例発表の会
エンジニアの確保
  • 技術者認定試験

TWO CARTOON FOXES: the _why documentary (Japanese Subtitled)

私が楽しみにしていたセッションの一つ。2009年アーティスティックなRubyプログラマ_why氏は突如としてRubyコミュニティを去った。
「_whyの感動的Rubyガイド」を紹介しつつ、Ruby界の有名人から_why氏へのコメントをまとめたドキュメンタリー作品。
私は_why氏の事は全然知らなかったんだけど、昔使っていたhpricotというHTMLパーサーの作者ということでちょっと親近感が湧いた。
奇妙な歌と猫のキャラクターは印象に残った。hpricotの初期のソースを読んでみようと思う。
ドキュメンタリーを観てから_why氏について色々調べてるんだけど「_whyの感動的Rubyガイド」の日本語訳はここで紹介されてるみたいです。

Toward efficient Ruby 2.1(笹田耕一氏)

Ruby2.1から導入される世代別GCのお話。
C-Extensionの互換性を維持しつつ、GCを高速化させたのがポイントとのこと。

Refining refinements(前田 修吾氏)

Ruby2.0の目玉機能としてアナウンスされてたけど、直前で実験的な扱いとなってしまったrefinementsのお話。
Ruby2.0のRC版の時に試してみてすごく気に入ってたんでゼヒ2.1では正式採用されてほしい機能です。
今回のお話でいいなと思ったのは後方互換性維持のために必要な箇所だけ使用するという方法。
一方、同じメソッドでも呼んだ箇所によって動きが変わるので可読性が下がるという問題もあるそうです。