[参加レポート] Ruby World Conference 2017 Day1

この記事は公開されてから6年経過しています。現在とは内容が異なる場合がありますのでご注意ください。
最新の記事や関連記事をお探しの方は下の「サイト内検索」で検索してみてください。

年に1度島根県松江市で開かれる Ruby World Conference ですが、今年は11月1日、2日の日程でくにびきメッセで開催されましたので tamulab.jp の中の人も参加してきました。
今回はその1日目の模様を簡単にまとめてみました。

開会の前に1日目、2日目の登壇者が勢揃いして記念撮影が行われました。

記念撮影が終わると、ルビーのおとうさん、Matzこと まつもとゆきひろ氏の開会の挨拶から始まり、地元自治体の首長さん、経産省さんからの挨拶があり、その後はまつもとさんの基調講演です。

基調講演 Ruby after 25 years

Ruby は 1993年2月 に産声をあげて、来年2月に25周年を迎えます。
Ruby を作ろうとしたのはとにかく自分で使いたいものを作ったので、ユーザーは自分一人だけだった。
1995年12月にインターネットでRubyを公開して、メーリングリストを作ったら2〜3週のうちに登録者が200人位に増えたことは自分でも驚きだったし、そのユーザーからも「ここはこうしたほうがいい」とかいろいろなフィードバックがあった。
2001年にアメリカ・フロリダで初めての Rubyカンファレンスが開かれたがこの時の参加者は37人程度だった。
それから16年経って、2017年のRubyKaigi@Hiroshimaでは800人の参加者があり、Rubyのユーザーは100万人を超えるとも言われている。
最初は自分一人だけだったユーザーがいまや100万人を超えるまでになった。

自分はプログラミング言語を作る人のことを言語デザイナーと呼んでいるが過去のデザイン(言語仕様)をみて今風に直したくなることがあるが、それが互換性を損なうものの場合は注意しないといけない。
Ruby は 1.8から1.9にバージョンアップした際に多くの非互換なアップデートがあったけども1.8を使っているユーザーが1.9に移行するまでに約5年もかかった。その間、RUbyコミュニティーでは1.8ユーザーと1.9ユーザーとでの分断が起きてしまったがこれはユーザーにとっても不幸なことだった。
同じようなことが PythonやPHPでもおきていた。Pythonは2系と3系が共存して長いがつい最近、2系のEOL(EndOfLife)が発表されたが2020年とまだ3年も先のはなし。PHPはPHP6を開発者側が発表したがユーザーコミュニティー側がついてこなかったので結局PHP6は なかったこと になった。

OSSコミュニティーに集まる人達はなにか決められた入会条件とかなく、ただそのOSSが好きな人々の集まり。
OSSは止まることができない。つい最近も Ruby is Dead と言われた。GithubにリポジトリのあるRubyGemライブラリのstarの数が他の言語のものより少ないとか、Rubyには静的タイプがなく古い、といったような理由だった。
Rubyは20年以上、Railsは10年以上の歴史があるけどもその間、変化をするとコミュニティーの分断を招きかねないが、逆に変化をしないとコミュニティーから離れる人が多くなりコミュニティーの規模は小さくなってしまう、そういう矛盾がある。

Ruby is nice となるように次の4つを心がけている。
– 前に進むこと
前に進むには無理かもとおもう難しいGoalを用意してそこを目指して前に進む。

  • 過去を無駄にしないこと
    過去に実装した機能などは互換性を残すこと。それを利用しているユーザーにとってのデメリットにならないようにする。

  • 移行は段階的に行うこと
    Ruby3で取り入れる新しい機能は少しずつでもRuby2.xに取り入れていって、全てがそろったらそれが Ruby3 になる。

  • 互換性をなくすような変更はユーザーにとってのメリットを明確にすること
    互換性をなくすような変更を行うときはそれに伴うデメリットを上回るくらいのメリットをユーザーに提供すること。

来年2月には東京で Ruby25 というイベントを開催します。

最後の質疑応答では「今後Rubyを使うことを期待している分野はあるか?」というものに対しては
小さいデバイスでもRubyを使ってくれるようになれば。機械学習や計算分野は多くがPythonだとおもうがRubyがそこでも使われるようになって欲しい。あとはマルチコアやクラウドなど分散型環境などでも期待しているということでした。

ランチタイムセッション

スポンサーさんのショートプレゼンテーションが3つあってそれぞれの企業さんのサービスの紹介などがありました。
ファーエンドテクノロジーさんは自社で運営されている Planio というプロジェクト管理ツールの紹介がありましたが、ベースとなっている Redmine に比べて様々な追加機能があって気になりました。

午後のセッション

午後からはmrubyなどの組み込みハードウェアでのrubyの利用と、CookpadにおけるRubyの活用などもありました。
とくに、テストの範囲測定となるカバレッジ測定機能については、カバレッジの数値は単なる目標とするのではなく、それをもとに考える元になってほしいという話もありました。

しまねっこのお見送り

1日目の全プログラムが終わって会場の外に出てみると島根県のイメージキャラクター しまねっこ がいました。

2日目につづきます。