RubyKaigi2017 二日目

とりあえず、二日目をまとめた

一番初めはまつもとさんによるRubyに関連したプログラミング言語の話。

途中からの参加だったので、聞き逃したところもあったけど、ザックリ以下のような話だった。

・Simulaの話(単一継承やSimulaの生みの親と会った話とか)

・多重継承の話(特にダイアモンド継承関連、『実際にやってしまう人がいる』→ だから設計者は最悪のケースを想定しないといけない)

・Mixinの話(もともとはLispの方言に実装された機能:Flavorsから)

・Mixinに付随してmoduleの話(名前空間やシングルトンとしての使い道などの解説)

Rubyは私(まつもとさん)の言語ではなく、我々の言語

面白かったのは、

「他な言語を低く評価して自分の言語(Ruby)を高く見せてると言われますが、そんなことはありません」

「けど、Pythonメーリングリストに参加して、『それならRubyでもできるよ』とかは言ったりしました」

って話の流れかなー?

あと、最後の「ご覧のスポンサーの提供でお送りいたしました」っての。

あれはズルい。

お次は、C++によるRuby高速化の話(Rabbitの生みの親:sutouさん)

個人的にC++関連の書籍を読み漁ってたこともあり、楽しく聞けたねー

以下、概要

C/C++を使っての高速化だが、バインディングではない

C/C++Rubyとの間で行き来をさせない。できるだけC/C++の中で完結させる

・CでRubyのライブラリは書かれているが、如何せんCなので冗長。悪くはない

・便利なAPIを使う(C++関連の)

C++11以降の便利機能を使う(autoやラムダ式、テンプレート、初期化リスト)

で、お次にRubyでのスペルミスチェッカーの話(nishijimaさん)

Rubyでのスペルミスチェックは意外としんどい

・というわけで作ってみた(did_you_mean)

Ruby 2.3以降は標準でついてるみたい

・ちなみに、Visula Studio Code でも使える

普段何気なく使ってたスペルミスチェッカーの製作者の講演を聞けるとは思っていなかった……

お次は、Rustを使ってRubyの高速化の話

Ruby is slow

・Cで書くことで速くすることはできる

・が、Cはリスクあるし、参入障壁もちょっと……

・そこでRust(Cより安全、Cに似た構文で速い)

基本的には、C++の時とおなじくRustでRubyを速くするって話だったねー。

最後に、mrubyで作るレゴロボットの話

以下、概要

・mrubyで作る自動ウォシュレット

・センサーで人を感知して自動的に蓋を開閉

・人を感知してから、タッチパネルで操作可能

・組み込み関係はCで組む話が多い。← mrubyでいいのでは?

・というわけでmrubyで作った

mrubyでの組み込みの話は人伝いに聞くことはあったけど、実際にデモで見るのは初めてだった。

大体、二日目はこんな感じだったねー