とりあえず、二日目をまとめた
一番初めはまつもとさんによるRubyに関連したプログラミング言語の話。
途中からの参加だったので、聞き逃したところもあったけど、ザックリ以下のような話だった。
・Simulaの話(単一継承やSimulaの生みの親と会った話とか)
・多重継承の話(特にダイアモンド継承関連、『実際にやってしまう人がいる』→ だから設計者は最悪のケースを想定しないといけない)
・Mixinの話(もともとはLispの方言に実装された機能:Flavorsから)
・Mixinに付随してmoduleの話(名前空間やシングルトンとしての使い道などの解説)
・Rubyは私(まつもとさん)の言語ではなく、我々の言語
面白かったのは、
「他な言語を低く評価して自分の言語(Ruby)を高く見せてると言われますが、そんなことはありません」
「けど、Pythonのメーリングリストに参加して、『それならRubyでもできるよ』とかは言ったりしました」
って話の流れかなー?
あと、最後の「ご覧のスポンサーの提供でお送りいたしました」っての。
あれはズルい。
お次は、C++によるRuby高速化の話(Rabbitの生みの親:sutouさん)
個人的にC++関連の書籍を読み漁ってたこともあり、楽しく聞けたねー
以下、概要
・C/C++とRubyとの間で行き来をさせない。できるだけC/C++の中で完結させる
・CでRubyのライブラリは書かれているが、如何せん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での組み込みの話は人伝いに聞くことはあったけど、実際にデモで見るのは初めてだった。
大体、二日目はこんな感じだったねー