JavaScriptは消滅すべきだったよな (767レス)
上下前次1-新
661(1): 2015/03/01(日)15:44 ID:N+dovjey(2/2) AAS
>>660
お前の言いたいことは分かるが、それはもう世界中で何十億回と言われ腐ったことだろ。
2015年の今それを言ってどうする。
世間はaltJSやらES6で前向きにその問題を乗り越えてるし、
この問題は数ある中でも実際にこまる度合いは極めて低い部類だ。
これはもはや相互理解ができないのかもしれないが、
strictモードやaltJS、Lint等の存在があるからJSerはJSがダメとは思わないし、
むしろそういう存在があることを光栄に思っている。
実際ES6ではCoffeeScriptから取り入れたものもあるし、TypeScriptはES7を参考にしてる。
JSerはこれらを敵対勢力ではなく、運命共同体の仲間だと認識している。
そして最近GoogleがTC39Meetingでも発表したSane/SoundScript構想。
>>660のような人にとってはJSがダメなことの照明だと思うのだろう。
だがJSerはこれはJSの進化だと捉える。
JSは柔軟であり、堅牢であり、全ての要求に答えられる言語に進化していくと願っている。
662: 2015/03/01(日)17:09 ID:wgjs6b8L(3/5) AAS
>>661
結局、javascriptである必要性がない
柔軟性、堅牢性、すべての要求に応えるなら中間言語を使うほうが楽じゃん
構文解析によるロスも、文法の制限もなく、あらゆる言語からコンパイル可能。互換性や速度の足かせもない。
この話は全く腐ってないし、LLVMとかRoslynが成果を上げ始めてきている2015年だからこそある選択肢
PNaClに期待したい
javascriptはひとつの選択肢として残せばよい
わざわざ柔軟性の低いjavascriptにコンパイルする理由は互換性を除けばない
663(1): 2015/03/01(日)17:28 ID:FcH6YvCw(1) AAS
LLVMは確かに互換性が売りだ。しかしそれは理想であって現実は違う。
PNaClがなぜ普及しないのか?それは最初は問題無いとされた互換性問題が避けられないと分かったからだ。
664(1): 2015/03/01(日)19:11 ID:rdPv98Ov(1/2) AAS
Javascriptが中間言語なんですけど?
よくある話で、わざわざ別のものを作る必要はない。
665: 2015/03/01(日)19:27 ID:wgjs6b8L(4/5) AAS
>>663
まだこれからでしょ
サーバー側でasm.jsにも変換して、非対応ブラウザはそっちを使うとかすればいい
>>664
それしか手段がないからそうしてるけど、遅いし柔軟性低いし、限界はある
型やポインタが扱える、高速な中間言語が採用されてもいい時代
666(1): 2015/03/01(日)20:05 ID:KsvF2WvU(1/2) AAS
中間コードなんて誰が読んでデバッグするの?
667: 2015/03/01(日)20:19 ID:wgjs6b8L(5/5) AAS
>>666
javascriptと同じでコードマップつかう
コードマップが無ければemscriptenみたいので逆コンパイルするしかないけど、javascriptの圧縮コードも十分読みにくいし
668: 2015/03/01(日)20:44 ID:KsvF2WvU(2/2) AAS
え?圧縮コードって読むものだったの?
669: 2015/03/01(日)22:12 ID:rdPv98Ov(2/2) AAS
中間コードをバイナリで読む人もいるだろうし、
圧縮コードのままデバッグする人もいるだろうな。
670: 2015/03/03(火)16:32 ID:IExRGO3p(1) AAS
JavaScript自体がES6,ES7と発展する中で、状況は改善されていくだろう。
それに加えて、上位互換のTypeScript、下位互換のasm.jsがある
DartやPNaCl等の別言語によるJSの置き換えは最早受け入れられにくい。
Googleもそれを察してか、AtScript(TypeScript互換),Sane/SoundScript,
asm.js対応と、相次いで軌道修正を図っている様に見える
671(2): 2015/03/03(火)23:17 ID:StzQ6W23(1) AAS
JavaScriptクッソ記述しやすくて読みやすいんだけど
JSがカスに思えるくらい読みやすい言語って何かな
672(1): 2015/03/04(水)01:01 ID:GzjMUXXo(1/2) AAS
>>671
単なる慣れだろ
JavaScriptの読みやすさは平均ぐらいじゃね?
673(1): 2015/03/04(水)07:52 ID:UWB+qgaN(1/2) AAS
coffeescriptって流行ってる?
674(1): 2015/03/04(水)07:59 ID:mArZsUPF(1/3) AAS
>>672
そうかー
Cはいちいち変数をスコープの頭で宣言しないとダメだったし
C++は結局業務でvector以外のテンプレートが必須になるレベルのものがなかった上に
調子のれば乗るほど当時の本人しかわからないコードが生成されてだるかった
さらに結局なんやかんやでメモリ管理もそれなりに意識しないといけないのも面倒だった
c#とjavaは楽だったけどクラス定義を往復するだけでも面倒になるくらいJavaScriptが楽に思える
結局>>620の言ってる感覚に陥ってるわけか
675: 2015/03/04(水)09:04 ID:UWB+qgaN(2/2) AAS
色々間違ってるな
676: 2015/03/04(水)09:07 ID:g/arT6Ck(1) AAS
>>673
流行っていない。TypeScriptも同じ。
結局は亜流でしかない。わざわざcoffee scriptでやらなければならない
絶対的理由がないのなら、当然ドキュメント量の多いJavascriptで普通は
やる。
677(1): 2015/03/04(水)10:23 ID:GzjMUXXo(2/2) AAS
>>674
だいぶ前からCはどこでも宣言できる処理系が多い
むしろ、JavaScriptは変数の巻き上げでミスらないように先頭で宣言すべき派の人もいる
あとはC#やJavaのほうが静的な支援は受けやすい
IDEでクラス定義をその場で見たり、精度の高い入力補完は慣れると便利で、大規模な時はありがたい
678: 2015/03/04(水)13:48 ID:mRCMaolX(1) AAS
まあ確かにC系は冗長な記述が多いかもな。
とはいえJSもスクリプト言語としてはスマートでもない。ES6でやっと標準レベルになったが。
まあSaneScriptやSoundScriptはすごく折り合いがとれたいい構想なんじゃない?
まあプロトタイプベースでガンガンやるのも面白いんだけどね。
あとは、bignumとかそういったのがES7で入ってくれれば不満はないね。
679: 2015/03/04(水)16:01 ID:mArZsUPF(2/3) AAS
>>677
移植性がなくなってC使う意味がなくなるから宣言は絶対頭でしろって怒られたことあるな
昔の話だから今は知らない。エディタ側でもどうにでもなりそうな問題な気もするし。
680: 2015/03/04(水)16:18 ID:mArZsUPF(3/3) AAS
ええ……巻き上げとか知らなかったわ
先頭宣言して状況次第で初期化時にダミーデータ放り込まないといけないとか
そこら辺の記事で褒め称えてるけどそれこそ大昔からのバグの温床じゃないですかね…
681: 2015/03/04(水)18:20 ID:3cqSAZZu(1) AAS
巻き上げ自体はいろんな言語にあるし、普通だろ。
巻き上げっていうのは、スコープ内で宣言された変数はそのスコープのどこでも有効ということだから。
問題は巻き上げられてる変数が予めundefinedで初期化されていて、使用してもエラーにならないってこと。
まあでもその問題はJS入門者が数度引っかかる程度でそんなに大きなものでもないけどね。
varがゆるゆるなのは関数スコープだからってのもあって、理には適ってる。
例えば多重宣言ができる点も、普通に考えればバグの可能性を生むだけだが、
関数スコープだと例えば2つのfor文でiを使う際に、両方で宣言する書き方を許すのは必要。
まあそれらを全て否定して、わざわざループ変数まで関数の最初で宣言するのも自由だけどね。
682: 2015/03/04(水)23:14 ID:/uWWye7B(1) AAS
ES6は進化した部分もあるけど、正直枝葉末節
むしろ、大きく退化したと俺は見る
今更古臭いクラス思想を持ち込んでどうするんだ?
es6は害悪だ
683: 2015/03/05(木)02:10 ID:ZxoYMS6l(1) AAS
>>671
>読みやすいんだけど
パクられ易いのが問題だな。
重要なプログラムはソース丸見えで組みたくない。
HTML5版のグラディウスとかソース参考にしようと思って
コード探したけど消されてたし
684: 2015/03/05(木)02:37 ID:PYCfZI4i(1) AAS
ES6にクラス思想なんて入っていないが
685: 2015/03/05(木)05:10 ID:gzqC2V5Z(1) AAS
クラス指向をより書きやすくするための機能が入っただけだな(笑)
686(1): 2015/03/05(木)05:30 ID:Gz4f4nXr(1) AAS
クラス思想を持ち込んだことによって、それらの機能が入ったんだろ
Javaの真似をしたようなスパゲッティなコードが量産されるんだろうな
シンプルにIf文やfor文で書けばいいのにわざわざ継承使いましたみたいな
687: 2015/03/05(木)05:36 ID:n3NecQLR(1) AAS
perl5とperl6みたいな
688: 2015/03/05(木)05:51 ID:uVNQvAMd(1) AAS
そもそもプロトタイプベースってのは最初から用意されたクラスシステムに縛られないってだけで、
自分もしくは環境が用意してくれるクラスシステムを自由に選んで使える柔軟性が売りなんだが。
クラス指向ってのが縛られたものか、構造化プログラミングの自然な考えからくるものかの違いしか無い。
689(1): 2015/03/09(月)14:57 ID:MIZIuI1f(1) AAS
>>686
スパゲッティ・コードの使い方間違ってる。
690(2): 2015/03/09(月)21:58 ID:lh4ZCMGK(1) AAS
>>689
何も間違ってない
クラスで継承使うと、あちこちに飛ばないと読めなくなる
上下前次1-新書関写板覧索設栞歴
あと 77 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.018s