■
ねむい
ウソつきとか
なんかややウソをついた。時間が足りないからしょうがなかったんだよ。基本的には私が喋る時っていうのはそれが結構好きなもんに対してでも、一言二言悪口を言いたくなるんだけど、なんか時間あんまりないなぁということで今回 Io に関しては良いことばかり喋った、というのとあと好きな部分しか喋らなかった。
と思ったけど Io の宣言されてない引数は評価されないって仕様はこう私的には「みんな大人だよね」思考の最たるものという感じだったのだけど、まぁ悪口でもあったかもしれない。まぁなんにせよ個人的に面白いとこだけ喋った感じだったです。
とりあえずヒドめなウソについて。 UTF8 はこうメッセージは変数名という、いわゆる識別子とかアイデンティファイヤーってヤツには使えるのだけど、文字列リテラル中には UTF8 文字列は使えないのであった。アホか。
これは大丈夫:
ほげ := 1
これはダメ:
hoge := "ほげ"
アホか。まぁプレゼンは最初っから DSL で書くってことだけはなんか決まって、書き終わってから今回なんかプレゼンのコーナーがあるとか知ったよ。まぁそんなんどうでも良くて、 Font アドオンも完全に ASCII の世界で生きてる人の実装(ASCIIならちゃんとフォントキャッシュとかもやってくれるんだよ!)で、ほえーとか思いながら修正したのであった。
プレゼン的な問題としては複数行文字列リテラルで記述していたソースコードの引用みたいな部分に日本語コメントが使えなくて困った。どうでもいい目的にかまけて内容の質落としちゃクズだよなぁと思った。
あとまぁ DSL でプレゼン書けるとか言ったんだけど、 Lobby とか if とかは普通に存在するスロットなので method_missing 的なもの(Io では forward スロット)で受けられなくて困るとか、まぁ色々自分的にはゴマかしてたという。
切った話
多重継承とかはこう、客層的にぶっちゃけプロトタイプベースとか説明する必要無いんじゃねーかなー、そのへんの説明はしょれば喋れるよなーとか思いつつ、まぁ安全方向に倒して説明しなかったのであった。 Io の多重継承は昔は proto ってのと parent ってのを使った二重継承という珍しいモデルだったんだけど、ある時 protos っていうリストで親をシンプルに管理するようになって多重継承になったとかだったと思う。
サンプルプログラムとして、 Date と System を継承したから現在時刻もわかるし環境変数も見えるぜ、っていうああこれ書いた人頭悪いんだなぁ…とわかるコードを書いてみたのでまぁこんな感じ。
DateSys := Date clone DateSys appendProto(System) write(DateSys now(), " ", DateSys getenv("USER"), "\n")
Concurrency 。まぁなんか Ruby の Fiber がどうこうとかホットみたいだし喋りたかったんだけど、これも時間無いよなと。個人的には演算子オーバーロードの悪用っぷりが面白いかなと思う。まぁ適当にリンクはっておこう。
忘れてた話
他の人の話聞いてて思い出したんだけど、 libiovmall はなんか結構大きくなったものの、未だに strip したら 1MB 切るし、コアは小さいって話は言い忘れてた。言う必要もないけど。
豊富なアドオン、とやらは、よくわかってないんだけど、とりあえずコンパイルしてみてコンパイルできたら dll/so/dylib としてインストールしておいて、実行時に参照されたらその dll とかを読みに行く、とかそんな感じになってるみたいなのでコアのサイズには関係ない。
あとクロスプラットホーム。まぁ今時のスクリプト言語なんて当然そうだろうね。
あとそれなりに速い…ってのもスクリプト言語でそれなりに速いとか言うのは目糞鼻糞的なアレもあるのでまぁ言わなくて別にいいだろと後で思った。
あとGCとかね。まぁそりゃあるだろっていう。インクリメンタルとかマークアンドスイープとか色々書いてあるのだけど正直私自身がわかってないのでなんとも。
個人的には
なんか色々えらい人に会えて良かったです。ええとざっと見ると、プレゼンで嘘つくってのはいいなぁというのと、 xtal の人の人柄がすばらしいというのと、 Forth なんかいいなぁってのと、 DHTML の表現力ってすごいなってのと、 Gauche のプレゼンすごいなと思ったら c-wrapper の人かーってのと、あとサイボウズラボは芸人養成集団とかそんなだろうというのと Xbyak 良かったこの調子で立派な芸人になって下さい、と、そんな感じだった。
ただ xtal がクリスタルで Xbyak がカイビャクってのは完全に罠なのでもうちょい読み易くしてほしいもんだと思た。
あとはもうねむかったね。最初からねむかった。すごいねむかった。あと飯喰わなさすぎとか。もうちょい喋りたかった人とかもいた気もするけどまぁいいかねむいしみたいなそんな感じだった。
あとプレゼン資料とかあまりにひどいソースコードとか置いておきます。現状の Io では Font まわり修正しないと動かんので動かす努力とかはしないよう。