̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄」
―――――――――――――‐┬┘
                              |
       ____.____      |
       |      |         |     |
JavaScriptを
       |      | ∧_∧ |     |     窓から
       |      |( ´∀`)つ ミ |
投げ捨てろ
       |      |/ ⊃ ノ |      |
         ̄ ̄ ̄ ̄' ̄ ̄ ̄ ̄       | ミJavaScript
JavaScript(笑)
•生まれ:1996年
•レガシーなブラウザで
 も動作を保障するため
 に、大きな革新は行わ
 れない
いろんなブラウザ
 JavaScript JavaScript
 エンジン       コード
   これどこかで
    見たことあるぞ?
ブラウザが取得した
JavaScriptコードを
内部のJavaScriptエンジ
ン
いろんな機器
             Java
  JavaVM      バイト
               コード

機器が取得した     Javaコンパイ
Javaバイトコードをラ
内部のJavaVMに Javaソース
投げ実行する     コード
いろんなブラウザ
   JavaScript   JavaScript
   エンジン         コード


JavaScriptでも        ?
この部分が欲しいよね
ってなるのは必然
                     ?
languages
    that
compile to JS
                有路 央
                2012.0xB
CoffeeScript
Rubyライクな構文
http://coffeescript.org/
TypeScript
静的型付け
言語レベルでの
 クラスやモジュール
MS製
http://www.typescriptlang.org/
JSX
静的型付け
言語レベルでの
  クラスやモジュール
DeNA製
  http://jsx.github.com/
Dart
JavaScriptの代替言語
として開発がスタート
JavaScriptへのコンパイルが可能
Google製
http://www.dartlang.org/
その他の
山ほどの言語
http://altjs.org/
共通したデメリット
コンパイルの手間が増える
 →継続的コンパイル
 →コンパイル時に構文チェックが有るよ
生成されたJavaScriptの信頼性
 →こればっかりはどうしようもない
 →二度手間になるがJavaScriptのテスト実施
以上。
ご清聴ありがとうございました

Ltctjs