トップページ > プログラム > 2016年05月13日 > 1hqv3t07

書き込み順位&時間帯一覧

12 位/188 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000021000000010000004



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
+ JavaScript の質問用スレッド vol.119 + [無断転載禁止]©2ch.net
JavaScript情報交換所(プログラミング既習者専用) [無断転載禁止]©2ch.net

書き込みレス一覧

+ JavaScript の質問用スレッド vol.119 + [無断転載禁止]©2ch.net
783 :デフォルトの名無しさん[sage]:2016/05/13(金) 08:45:01.29 ID:1hqv3t07
フラグ持ち回しはしない方がいい、Promiseらしさが壊れるから。
そういう必要が出てきたらCancellable Promiseみたいなサブクラスを使う。
もしくはPromiseに頼りきらずawait/asyncを使ってフロー制御をするのもいいと思う。
代わりにジェネリックを使うとこんなイメージ。

mainScript = spawn( function* () {
 var v = yield sampleA();
 if ( v == null ) yield sampleB();
 yield sampleC();
 return v;
});

function spawn(gfn) {
return function () {
var gen = gfn.apply(this, arguments);
return new Promise(function (resolve, reject) {
function step(v) {
var r = gen.next(v);
Promise.resolve(r.value).then(r.done ? resolve : step).catch(reject);
}
step();
});
}
}
+ JavaScript の質問用スレッド vol.119 + [無断転載禁止]©2ch.net
784 :デフォルトの名無しさん[sage]:2016/05/13(金) 08:46:29.24 ID:1hqv3t07
なぜジェネリックが出てきたし、ジェネレータだ
JavaScript情報交換所(プログラミング既習者専用) [無断転載禁止]©2ch.net
120 :デフォルトの名無しさん[sage]:2016/05/13(金) 09:43:39.39 ID:1hqv3t07
>>118
JavaScriptと言うより、Webの宿命。ES仕様自体は元々が小さかったのも有り、
妥当で慎重な機能追加で順調に進化してきている。

そして今まで悪かったからこそそれを改善しようと言うのがEWMなのに、
なにを否定したいのかがわからん。
EWMならダメな仕様等をばっさり捨てていくことも可能。
というか結果的に皆が使い良いと認められる仕様だけが標準になるのだから。
更には公開と発展の速度まで引き上げられる。

そしてasm.jsを手書きすることが屁理屈だなんてとんでもない。
勿論emscriptenが書き出すようなのを手書きするのは変態だが、
どうせちょっと高速化を意識するとTypedArrayをメモリに見立ててあれこれするようになる。
それはasm.jsがやってることと同じなので、asm.jsパターンにちょっと直せばいいだけ。
ただのお作法みたいなものでしかなく、そっちこそ何をムキになってるんだか分からん。

別に素のJSがC++と比べてどれだけ早いなんて自慢話をしたいわけじゃないし興味はない。
JSで事実速いコードもそこそこ書くことが出来、その結果現実的に実現できることがあるということが自分にとって重要

もちろんこういうことをするのはレアケース。
だって先にも言ったようにそこら辺に転がっている実用コードの殆どのボトルネックが外部APIだし、
よくあるマイクロベンチみたいなのを意識しても仕方ないから。

一方それ以外の素の速度が重要なケースでは、どんな言語で書いてもそれなりにアルゴリズムやチューンを気にするだろうし、
asm.jsに沿って書く程度十分あり得る範囲だよ。
JavaScript情報交換所(プログラミング既習者専用) [無断転載禁止]©2ch.net
121 :デフォルトの名無しさん[sage]:2016/05/13(金) 17:53:59.39 ID:1hqv3t07
Railsとかサーバサイド言語/環境と違って
WEBは1つの実装で色んな時代に作られたデータを読まないといけないのだし
仕様の量も段違いで数十か数百かのモジュールが組み合わさって成り立っているのだから
その1つ1つのバージョンを意識したり指定したりということはできないし
原則後方互換性を守りながら拡張していくしか無い

WEBがもっとシンプルで昔のようにほぼW3Cが牛耳っていれば問題はなかったのだが
世間や環境がそうさせてくれなかった
WEBはマグロのように泳ぎ続けるしかない定め


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。