IT戦記

プログラミング、起業などについて書いているプログラマーのブログです😚

Kanasan.JS JavaScript 第 5 版読書会 #2 に参加しました。

会の内容

自己紹介 30 分

参加者全員 (40 名以上) が自己紹介。これは僕の中では新しかった。見に来たというよりは、参加しに来たという感じになる。

Lightning Talks 1.5 時間

Haskell の話や BiwaScheme の話や「Flash で声帯を物理演算して初音ミク」(超意訳)が面白かった。
OmegaT で MDC 翻訳しようぜ by nanto_vi さん
聡明な学生さんが多い。

JavaScript 第 5 版読書会 4 時間
  • 文と式について
    • 式は一般的には「値を持つもの」、しかし、 JavaScript では文も値を持つ (ex: eval したときの返り値)
    • function が、関数宣言(文) になるか 関数定義(式) になるかは、その前のトークンで文が終わっているかどうかで判断できる。トークンで文が終わっている場合は無条件で関数宣言(文)となる。
    • ブロックの中に関数宣言がある場合は、 ECMAScript の仕様では構文エラー。 Firefox では、関数式文という独自の構文となる。 IEOpera では通常の関数宣言(文)として扱われる。つまり、 Firefox では if 文の影響を考慮するし、他ではしない。
    • for(ここ;;) や for(ここ in obj) には var 文だけいける。他の文はダメ。
    • varPerl の my のように式でもいいんじゃないか
    • Primary Expression とは何か
      • JS の場合は this, Literal, Identifier, Array Literal, Object Literal が Primary Expression。
      • Primary Expression の定義は「みんなの心の中にある」。
  • プロパティアクセス (obj.identifier や obj[string] ) は演算子かどうか
  • switch
    • case ラベルには、数値リテラルだけではなく任意の式が書け、上から順に "評価" される。副作用のある関数などは注意。
    • case ラベルは、上から順に評価され、一致した時点で以降は評価されない。
    • default ラベルは最後に書かなくてもいい。(途中や最初にも書ける)
  • ラベル
    • ラベルは繰り返しだけではなく、任意の文に指定可能
    • break 文には、とくに for,while,do/while 以外に付けられたラベルも指定可能
    • continue 文には、 for,while,do/while に付けられたラベルしか指定出来ない
  • その他
    • for(names[i++] in obj)/*nop*/; でプロパティ名抽出
    • var が変数を作るタイミングと関数宣言が関数を作るタイミングの違い
懇親会 2 時間

話した事まとめ

  • kanasansoft さん & ujihisa さん: Kanasan.JS 名前の由来
  • ujihisa さん: Haskellclass について
  • ujihisa さん: 参照透明性について
  • ujihisa さん: 副作用のないプログラムは別のマシンで動いていてもいい
  • naoya_t さん & ujihisa さん: 参照透明性と分散処理とマルチコアでのスケール
  • naoya_t さん & ujihisa さん: いろんな読書会についてとか
  • naoya_t さん: スコープを説明する為の現象は、言葉は違うけど Scheme とかでも同じだよ
  • nanto_vi さん: お肌がキレイ
  • nanto_vi さん: ブログのエントリの書き方の違いについて
  • nanto_vi さん: JS を始めた経緯
  • nanto_vi さん: ES4 の未来
  • nanto_vi さん: 固く握手
  • hoge1e3 先生: モナドを使えばほとんど手続き型と同じように書けるよ
  • hoge1e3 先生: 実は文系の学部
  • hoge1e3 先生: with が何故遅くなるか
  • hoge1e3 先生: Excel という純粋関数型言語
帰りの電車
  • ujihisa さん: モナドは使い方や概念を覚えるのではなく、モナドが起こす挙動を単純に覚えるといいよ
  • ujihisa さん: 束縛と代入の違い

まとめ

懇親会も含めていろいろな話を聞いて、関西は関東と比べて学生がコミュニティをひっぱっているなあと感じた。
読書会や LT の内容はもちろんのこと、いろいろな人と直接会って話すことが出来てとても感動しました。
読書会というものは、初めてだったのですが、とても面白いなあと感じました。関東でも、読書会あったら参加してみたいと思います。
それでは、 Kanasan.JS スタッフの皆様、そして、参加者の皆様、
楽しい会を本当にありがとうございました!次回の Kanasan.JS も時間があえば、ぜひ参加してみたいと思います!