wolfmasa's blog

フロンターレとプログラミング関係の話題を、気が向いたときにつぶやくブログです。

# 118: The Lonely Operator

118: The Lonely Operator

Guest

Matzこと、まつもとゆきひろさんと、松田さん。

前回の一人語りエピソードでもあったように、Ruby Conf 2015が開催されているサンアントニオから。

二人ともトークが最終日にあったので、最終日が終わってからの収録。

Ruby Conf

Rails Confはトークの内容について、当たり外れが大きいらしい。一度は行ってみたい。

いくつか気になったトークを紹介。youtubeRuby Confのチャンネルがあって、見れるようになっているのは嬉しい。

www.youtube.com

昨年のは少し見たけど、USAにはConfreakという団体?があって、こういうイベントの動画周りを一手にやっているようで、日本のKONBUもすごいけど、システマチックにみんなが喜ぶことをやっているのは素晴らしい。

MINASWAN: Matz Is Nice And We Are Nice.

MINASWAN - Wikipedia, the free encyclopedia

マーティンファウラーが言い出したという言葉で、最初何を言っているのかわからなかったけど、Ruby のコミュニティは素晴らしいということ自体を標語のようにすることで、コミュニティとしての一体感を出す合言葉のようになるというのはわかってきた。

こういうのが積み重なって、言語としての文化が出来上がってくるのだろう。

Rubyのバージョンアップについて、仕様変更というのは難しいものだけど、できるだけメリットと同時に行ったり、そん変更自体が合理性のあるもの、というようなことに気をつけないと、炎上しちゃう可能性があるということ。Rubyは割とその辺り痛い目を見ながら覚えていった感じがする。

アジャイルのコンテキストと似ているけど、Rubyは年一回のバージョンアップでまわしているけど、意外にそれでもジャッジや入れる機能などのバランスが取りやすいようだ。確かに、1バージョンしかない場合にはクリティカルな議論になりがちだけど、とりあえず次にといってパントしやすいのは、お互いにとって嬉しいだろう。

マイルストーンを適切に設定することは、開発者にとってとても重要なこと。

RailsRubyのコミュニティや開発者の関係性も特殊で面白い。Raisコミュニティが、Rubyのバージョンアップ、改善について協力的なのは素晴らしい。

Ruby 2.3

qiita.com

早速、伊藤さんが記事にされているが、2.3での新機能周りの紹介。

コマンドラインツールgrep -vと同じ、正規表現の否定で探す。

  • &.

Swiftのfunc1?.func2

Rubyではfunc1&.func2のように書くと、func1がnilの時に、func2を呼ばない。

&.が座り込んでいる人が石を見つめている、というように見えるようなので、ボッチオペレータと呼んでいた。言われても、あんましそう見えないなぁ、まだ。

  • stringのimmutable

Railsの文字列の扱いでゴミがたくさんできるので、3.0からStringをイミュータブルにする前提で、2.3からはマジックコメントでそのような挙動になるようになった。

freezeにすると高速化されるように仕様変更したら、多くのプロジェクトにfreezeパッチが来て、コードが汚くなったことがあったので、いっそ3.0ではイミュータブルにすることにしたようだ。

Ruby 3

現在はMatz一人の構想段階。DHHに触発されて、あおり重要らしい。

Ruby3x3(Ruby3 times 3)。Ruby3.0で3倍高速化する。元々赤いけど、は確かに普通気づかない。

Ruby2.0に対して、あるいくつかのベンチマーク、意味のあるある種の恣意的な状況において3倍速くすることを目標にして開発をするということ。

いくら限定的だったり、特殊な状況であっても、3倍速くするというのはとても大変なことだから、すごい目標ドリブンだなぁ。

Ruby Kaigi

Ruby Kaigiも12月に開催するらしいけど、動画が出たらまた見たいな。

託児所が併設されているカンファレンスは確かに助かるけど、言われているように乳児は急にハードルが上がりそう。そうじゃない幼児だけでも、預かってもらえると助かるケースは多いと思う。

さよなら築地Kaigiという裏テーマもある。