本を読む

読書やコンピュータなどに関するメモ

John Resig×Shibuya.jsのイベント

 jQueryの作者でありMozilla.orgのTamarinの人でもあるJohn Resigが来日。日本のクレイジーなJavaScriptコミュニティであるShibuya.jsの人たちと「The Future of JavaScript」というイベントを開催した。これは聞くしかないでしょう。

 それぞれのセッションのあと、John Resigに小林悠さん&amachangさんが一問一答で質問するというドリームセッションがあった。質問セッションは資料が残るかわからないので、以下メモ。理解できたつもりの範囲しか書いてないので(this談義はかなり省略)、間違いがあったらご指摘ください。

  • 3つのOOP(class、prototype、Duck typing)のどれを使うべき?
    • 個人的にはclassベースのOOPが好き。エラーチェックしてくれるから
  • JSのいいところはオブジェクトを自由にいじれるところだった。classベースでリフレクションのようなこともできる?
    • 用途(柔軟性、スピード…)に応じてOOPのスタイルを選ぶとよい
    • DOMの完全実装をJSで書いているところ
    • ブラウザーのフル実装をJSで書いた
    • ES4版jQuery
  • ダイナミックでないclassのメソッドはさしかえ不可能?
    • プロパティを追加しようとすると止められる
  • 既存のクラスの不備を外から書き換えて直したりしているのでさびしい
    • スタティックなclassでもprototypeはいじれるよ
  • typeとinterfaceの違いは
    • typeは単なる構造体、interfaceはクラスの型定義
  • typeにfunctionポインタを指定するとinterfaceっぽく使えるのでは
    • だいたいはそうだが、likeはtypeでしか使えない
  • isはtypeで使える?
    • isはinterfaceでしか使えない
  • isとlikeを分ける理由は
    • 実は議論中
  • ほかのブラウザーでのES4は
    • Operaはスタート
    • Appleは状況を公開しないが、WGに参加して質問などしているのでやるんじゃないか
  • Rhinoは?
    • JS 2をやると言っている。JS 1.7の大部分は実装
  • thisの挙動が、いまのESと変わるが
    • それはバグフィックス
  • ES4は難しすぎないか? C++と同じ道をたどっていないか?
    • とっかかりのシンプルさは残っている
    • たとえばいまのJSでも入門者はクロージャを使わなくていいというのと同じ
  • ":"にいろいろな意味がありすぎてわかりづらい
    • いまのJSでも、エキスパートが使うような凝った関数定義はビギナーにはわからないと思う
  • 式として1回こっきりのclass定義とかはできるか?
    • それはオーバーヘッドが大きい。普通にclassなしオブジェクトを使ったほうがいい
  • ES4の標準ライブラリを作る計画は?
    • ない。JSANサポートもやめようかと話している。
  • え?
    • ESの仕様と合わないかも。でもやめると決まったわけじゃない。
  • 64bit整数がほしい。DB idとか。
    • ESでも議論があり、やらないことになった。議論内容はWikiに。
  • スレッドがほしい
    • ESの中にとりこむより、実装で対応するのがよいと思う。Google Gearsとか。
    • 検討はしているが、期待できない
  • 継続は
    • 議論には出たが、やらないことになった
  • AVM4のバイトコード仕様を規格化する計画は
    • ある。もう出した。
  • Adobeとして? ECMAとして?
    • Tamarinの一部として
  • JSはスクリプト言語しては速いが、ES4はどうか。duck typingを使うと遅くなる?
    • 実装による
    • Tamarinではかなりの最適化
    • first type(基本型?)最適化
    • duck typingを使っている場合でも、no typingでも速くなる
  • ライブラリ作者として。数多くあるライブラリは収束の方向というDouglas Crockfordの意見があるがどうか。
    • 機能は収束するが、考え方は収束しない
    • ライブラリは機能と考え方がセットになったものなので、私は意見が違う
  • Duck typingしても速いというが、typeを宣言しても速くならないのか?
    • type宣言したほうがより速くなる
    • 宣言してなくても型がわかるなら同じぐらいの速度。ただ、それなら宣言したほうがいい
  • 構文木をプリコンパイルする機能(Pythonの.pyc?)はあるか
    • コンパイル済みのライブラリをキャッシュとして置く機能をFirefoxで採用する

コメント

コメントの投稿

管理者にだけ表示を許可する

トラックバック

http://emasaka.blog65.fc2.com/tb.php/314-f1018b54

 | HOME | 

Categories

Recent Entries

Recent Comments

Recent Trackbacks

Appendix

emasaka

emasaka

フリーター。
連絡先はこのへん

Monthly


FC2Ad