2013年4月21日日曜日

2013/04/18 Web先端技術味見部#19 に参加しました

Web先端技術味見部#19に参加してきました。
http://atnd.org/events/38706
・Togetter
http://togetter.com/li/489752

今回のテーマは「asm.js」というものでした。
そもそもasm.jsってなんぞ? という話ですが、それはPublickeyさんがまとめられています。
http://www.publickey1.jp/blog/13/asmjsjavascript.html
私はasm.jsとても実行速度の速いちょっと特殊なJavaScriptであるとざっくり理解しました。
asm.jsはmozillaが提唱しているものなので、今はFirefoxでしか動作しません。

では、asm.jsがどんなものか実際に触ってみましょう(味見部名物味見)ということで、始めはこちらを参考に進みました。
http://ejohn.org/blog/asmjs-javascript-compile-target/
どうやらCやC++のコードをLLVMを用いてゴニョゴニョしてasm.jsのJavaScriptコードに変換することが出来るようです。

で、途中からは仕様書から抜粋されている説明であるということで、仕様書を直接読んで進めることに。
・asm.jsの仕様書
http://asmjs.org/spec/latest/

どうやら、
x = x|0;
と書けばxがint型になり、
x=+x;
と書くとxがdouble型になるなどのようです。う~ん、かなり特殊な書式ですね。
JSのサブセットなので、asm.jsに対応していないブラウザでもエラーで死んだりしないようにorだの+だのが使われているらしいのでしたっけ。
しかし型に厳密過ぎる書式なので、簡単なベンチマークコードを書こうとするだけでエラーが頻出し味見部皆で四苦八苦。

最終的にはどうにかこうにか動作するようになって、
  • ちゃんと書けばどうやら速いっぽい
  • やっぱり人間の手で書くものではないね……
という結論を得た味見部でありました。

2013年4月14日日曜日

2012/10/24 Chrome Tech Talk Night #4 に参加しました

大分前の話になりますが、Chrome Tech Talk Night #4 に参加しました。
http://googledevjp.blogspot.jp/2012/10/chrome-tech-talk-night-4.html

Googleの方から直接Yeomanの話を聞くことが出来る機会だったのですが、どうも自分には前提知識が不足していたようで、きちんと話を理解しきれなかったのが残念なところです。
でも、開発は楽しくなきゃね、というメッセージは掴めたかなと思っています。