mizchi
主に python/node
某A社 / 某大学5年
基本LLerなんでネイティブわかりません><
なんかHTML5とか流行ってる
実際に追加されたプロパティ
x あたらしい HTML の タグ
○ JavaScript API
JSで超絶面倒くさいことさせられる
大規模になる
JSで、大規模になる
具体的には、ゲームとか、ゲームとか、業務アプリとか、ゲームとか。
- 糞
- 一般的に言われるほど腐ってはないけど、糞
- JS GoodParts 読め カバンに入れて100回読め
- JS書きたくねぇ…
- 超ゆるふわ型 + 比較演算子 1 == "1"
- 予期せぬundefined => 突然の死
- プロトタイプベースは人類には辛い!!!!!
- (知ってりゃ使えるけど全員が黒魔術覚えるの?????)
生JSは人間の尊厳を損ねる List of languages that compile to JS · jashkenas/coffee-script Wiki https://github.com/jashkenas/coffee-script/wiki/List-of-languages-that-compile-to-JS
- 書き味がよくて
- 堅牢で
- テストコードを書きやすく
- JS資産(jQueryとか)は活用できて
- 大規模設計に耐えうるもの
- 一人でNode/WebSocketでMMO作ってる
- サーバーもクライアントも一つの言語から生成したい
- (サーバー/Express/Socket.IO 、クライアント/enchant.js)
- 仕事で大規模JS(CoffeeScript20000行)書いてるんで、よりまともなやつを提案したい
JS知ってれば学習コストは低い
python風のインデントブロックにrubyっぽいフレーバー足した感じ
ダメな点
良くも悪くもJSの悪い点もひきずってる。
コードと実際のエラー行が異なる => source mapで解決するらしい
CoffeeScriptを関数型っぽく拡張した言語
CoffeeScriptに刺激を感じなくなったら手を出すといい
ダメ:
CoffeeScriptの欠点は何も解決していない
そんなものもあったね(ニッコリ
Ocamlで書かれたActionScript風の言語。型はオプショナル(自動類推)。
内部ASTからいろんな言語に出力できる。
Dynamic型というゆるふわ型を使えばJSオブジェクトを自由に取り回せる。
ダメな点
わかってない人と書くとDynamic型だらけに
複数言語対応を謳っている割には一部言語で異常に遅い(C++)
Coffeeや他LLに慣れていると冗長。functionとか末尾セミコロンとか
Java Inspired感強し
結構触ったけど、まだHaXeでいいんじゃないかな感あった。今後に期待。
JSを使うための言語なのに生JSと相性悪
JS資産を使えないのがちょっとダメぽ
photoshopのアレと拡張子が被っているのは糞
LLVM中間コードからJSを生成する
人間が読めたもんではないが早い
初代Doomとか動いたらしいよ
Roy
npm install roy 引数が複数取れなかったり微妙 モナドの記述が超微妙(作者以外わかってんのかコレ)
Fay
cabal install fay haskellからJS生成 拡張子.hsって… まんまHaskellであることを目指してるっぽい
Elm
cabal install elm パーサは一番まともにみえる 謎のおせっかいパーツが大量にあって混乱する
ClojureScript
なんかそのままClojureだった。Clojureいいよね
js_of_ocaml
ocamlから、らしいけど
お恥ずかしながらコンパイルまで辿りつけませんでした
とりあえずは coffee 使え
限界感じたら
=> もっと自由を => livescript
=> 型ないと不安 => HaXe
=> I am a lisper => clojurescript
次世代JSへのたたき台にするために皆もっとJSに出力される言語つくっていいよ!!! とCoffeeScriptの作者 Jeremy Ashkenas氏がおっしゃっておられます!!!
おわり
参考 livescriptで書いてみたmmo https://github.com/mizchi/node-mmo HaXeでいろいろ試した痕跡 https://github.com/mizchi/haxe-try