RubyKaigi 2015のMatzのキーノート・メモ


2015/12/11-13に開催された『RubyKaigi 2015』に出席してきたので、そのときのメモです。

とは言っても1日目から風邪でセッション中ほとんど寝て、2・3日目には熱がでて会場にすら行けなかったという
体たらくぶりでした。来年はマスクとか、うがい・手洗いとか万難を排して臨みたいと思っています。..orz…

今回はまともに聞けてたMatzのKeynoteを中心にメモを書いていきます。

あとこの記事は、エムスリー Advent Calendar 2015 - Qiitaの23日目です。


🤔 プログラマーの三大美徳

Perlの作者Lally Wallの言葉。考えれば考える程いい言葉。

- 怠惰: プログラムを書いて、苦労を減らしたり、ドキュメントを書いて不要な質問を避ける
- 短気: 将来起こる問題を想定した設計、ロジックの無駄を排除した実装を行う
- 傲慢: 周りから文句が出ないような、自分が自信を持てるプログラムを書こう

😸 怒りに通じている

怒り」とは、制御されている限り有益なモチベーションの源泉となる。
ただし、怒りはほかの人にネガティブな気持ちを伝染させてしまうので注意しよう。

🍄 ナイスも人に移る

  • ナイスさ」こそはRubyコミュニティの良さ => MINASWAN(Matz is Nice And So We Are Nice)
  • 内心で怒っていても、外っつらは愛想よく、ナイスであろう

🎳 Ruby 2.3.0

preview2が出た。クリスマスに合わせてリリース予定。新機能は次のようなもの。

- Did-you-mean
  - Gooogleのもしかして機能
- Enuerable#grep_v(inverseのv)
  - マッチしていないものを返す
- Hash#fetch_value
- Numeric$positive?, negative?
- Hwash comparisons(<=, <,="">=, >) - No Comparable(<=>はない)
- Hash#to_proc
- Array,Hash,Struct$dig
- Indented here document(インデントの一番浅いところでとってくれる)
- froze-string-literal: true
- safe navigation operation => &.
  - u&.name&.first

Rubyの改善は、コミュニティの成果であう。

🚌 OCaaS

  • OCaaS(OSS community as a Shark)、つまりオープンソースコミュニティは、動き続けなければ死ぬ。
  • 変化を生み出し続ける必要があるが、変化を受け入れるのは、けっして簡単なことではない。

🐮 変化

  • ユーザーのwantsを聞くべきではない。大切なのは隠れたneedsを見つけることだ
  • 未来のことはわからないが「未来の変化」を生み出さないといけない

😀 環境の変化

Rubyの置かれている環境の変化として次の3つがある。

- Multi Core
- Code Scalability
- Data Scalability

マルチコア

- コンカレンシー
- 抽象度の高さがRubyの売り
- 候補
  - Ownership Model => 排他制御
  - STM => 現実的ではに
  - Streem model

このあたりで時間なくなったはず。。
Ruby 3を2020年までにだして、Ruby 2.0より3倍早くするのが目標とのこと。
すごい!

🎉 RubyKaigiで参考になりそうなサイト

😼 RubyKaigiで個人的におもしろかった発表

テンプレートエンジンの高速化、FamlとHamlitの話はすごいおもしろかったです!

📚 おすすめの書籍