RubyKaigi 2019
福岡で開催されたRubyKaigi 2019に行ってきた。今年から会社から費用がサポートできるように相談し、会社から4名が参加できた(うち1名はサポーターとして運営に参加)。プログラマーという職種に従事することができること、また学べる機会があることを幸せに思う。
経験を積むにつれ色々なことができるようになる。と同時に色々なことができなくなる。一般的な若者と同様に、自分が10代だった頃も将来に対する期待と不安があった。幸い、期待のほうが大きくもあったので、不安で悩むことは少なかったが。30代も半ばになった今、将来というものがより現実的になり、今の自分自身に対する能力の期待と不安に変化してきている。そんなことを感じさせるプレゼンテーションがあった。
今回のカンファレンスで最も印象的だったのはRunning Ruby On The Apple IIというプレゼンテーションだった。実際にはRubyが動くところまでは間に合わなかったようだが、アセンブラでRubyの文法と実装するというものだ。機械語のライブコーディングは一見の価値あり。また実際のプレゼンスクリーンの投影もApple II が使われた。(正確にはApple IIcの様子。Apple IIは1977年に発表、Apple IIcは同シリーズのコンパクトモデルとして84年に発表。おそらくスペックは同等。 )
Rubyの要素を小さくしたnRubyのコンセプトを固め、それに必要な文法を定義する。具体的にはオブジェクト志向、ブロック、イテレータ、TDDなどである。これらの一つ一つの要素をアセンブラで表現することは可能で、そのコードを紹介するというのがメインの内容だった。
このプレゼンテーションの何が印象的だったか、というと30年以上古いマシンと言語実装で、部分的ではあるもののモダンな表現をしたことだ。それによって新しい表現となっていることだった。もちろん実用的ではないが、Just For Funな試みなので、その点はあまり重要ではない。Apple IIというマシンが実用以上の価値があるということの証明でもある。
30年という月日は人類の歴史と比べると短いが、技術革新や社会の変化の速度を考えると、とても長い。つまり技術やプログラミングは実用的なものではあるが、そういった期間を経てそれ以上のものでもあることを証明した。意図的ではないかもしれないが、そういったことを感じさせるプレゼンテーションだった。
加えて、オブジェクト指向を始めとする技術的にアイディアは、テクノロジーの進化に依存しない。優れたアイディアは、テクノロジーの進化に応じて幅広く実用される。しかしながらアイディア自体は、それよりも前に実装可能だということだ。
子供から急に電話がかかってきて、「おうどんならお家で食べればいいよ」と言われたときは早く帰りたくなった。両立は大変だが可能だ。来年もまた行きたいと思う。
最後にざっと今回のスケジュールをまとめておく。
短い滞在にシェアサイクルのメルチャリが便利だった。12回ほど使った。自転車がないことも結構あったがそれを織り込んでも良い体験だった。
4/18
- 4:30 起床
- 7:00 羽田発(機内でWIFI使えたので少し作業)
- 9:00 福岡着 — 祇園まで地下鉄、祇園からメルチャリ
- 10:00 ~ 18:00 カンファレンス参加(基本ガッツリ聞くスタイルなので聞く)
- 19:00 ~ 21:00 シャトルバスでAfter Party ~解散 してチェックイン
- 21:00 ~ 散歩がてらジムの場所を下見
4/19
- 6:30 起床
- 7:00 メルチャリでジムへ、ついでに放置自転車の回収をやってみる
- 8:00 メルチャリで長浜の方へ行き市場で朝ごはん、メルチャリ散歩しながらカンファレンスに
- 10:00 ~ 18:30 カンファレンス参加(基本ガッツリ聞くスタイルなので聞く)
- 19:30 ~シャトルバスで会社で参加しているメンバーとラーメン
- 20:30 ~ 21:30 散歩&地下鉄で福岡の校舎訪問&解散
- 22:00 ~ 24:00 メルチャリで温泉からのラーメン
4/20
- 7:00 起床&・チェックアウト
- 8:00 地下鉄で天神、朝ごはん
- 9:00 地下鉄で祇園、祇園からメルチャリでカンファレンス会場へ
- 10:00 ~ 19:00 カンファレンス参加(基本ガッツリ聞くスタイルなので聞く)
- (途中12:00 ~ ランチ休憩中にメルチャリで港の方に行ってお寿司食べて戻る)
- 20:00 福岡発〜羽田へ